Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 创建react应用程序/网页包中的基本问题重新确定范围_Reactjs_Webpack_Create React App - Fatal编程技术网

Reactjs 创建react应用程序/网页包中的基本问题重新确定范围

Reactjs 创建react应用程序/网页包中的基本问题重新确定范围,reactjs,webpack,create-react-app,Reactjs,Webpack,Create React App,虽然我已经使用create-react-app创建了一个功能正常的react-app,但我对react还是比较陌生 react的一个卖点似乎是您可以逐段迁移代码,而不是一次迁移所有代码。我现在正在迁移一个现有的web应用程序,并尝试看看我是否可以让它在CreateReact应用程序生态系统中以最小的修改运行;第2步将是对其进行反应。我被困在第一步。(我想我已经成功地完成了第0步——让它编译,尽管这需要很长时间。) 我已经用我自己的index.html替换了create react appinde

虽然我已经使用
create-react-app
创建了一个功能正常的react-app,但我对react还是比较陌生

react的一个卖点似乎是您可以逐段迁移代码,而不是一次迁移所有代码。我现在正在迁移一个现有的web应用程序,并尝试看看我是否可以让它在CreateReact应用程序生态系统中以最小的修改运行;第2步将是对其进行反应。我被困在第一步。(我想我已经成功地完成了第0步——让它编译,尽管这需要很长时间。)

我已经用我自己的
index.html
替换了
create react app
index.html
,用我自己的主js文件替换了
create react app
index.js
。过去,我的主文件是从
index.html
加载的
标记,它的所有功能都进入了全局范围。显然,现在他们没有进入全球范围

index.html
中,我有:

<button type="button" id="connectButton" class="btn btn-success" onclick="connect()">
    Log on
</button>
function connect() { 
    ... 
}
过去,单击按钮会调用函数,因为它在全局范围内。现在,单击按钮会生成“
ReferenceError:connect未定义”
,因为它显然没有进入全局范围

有人否决了我对这个问题的最初版本,可能是因为我问的不是“反应方式做事情”。我完全知道这一点,但让人们“反应方式”做事情的方法是向他们展示一种他们可以增量迁移代码基的方法。所以我无法想象我是唯一有这个问题的人。不过,我在谷歌上的尝试似乎没有带来任何帮助


附录:我发现我可以通过插入
window.connect=connect来解决这个问题将其置于全局范围。我会补充这一点作为对这个问题的回答,但也许有人有更好的解释或解决办法,在这种情况下,我会接受他们的答案。谢谢。

正如我在编辑的问题版本中所说,插入
window.connect=connect在函数定义将其放入全局范围后,这似乎是一个有效的解决办法。

为什么您要通过HTML文件使用onclick处理程序而不是React?您能给我们看一下代码吗?@Li357:我打算迁移到React,但我希望一件一件地完成。@wgcrouch:HTML是
登录
。该按钮可以正确渲染。函数的主体很长,不太有趣;它在定义执行之前和之后编译时都没有错误和日志语句。如果有帮助的话,我可以显示完整的代码,但它似乎不是,因为函数没有被执行。它说的
connect
没有定义,你定义了吗?如果这只是在html中,那么
connect
是在全局范围内,还是在生成该html的范围内?如果没有代码的其余部分,就很难提供帮助