Reactjs 没有handleClick,React教程不会崩溃。它是如何工作的?

Reactjs 没有handleClick,React教程不会崩溃。它是如何工作的?,reactjs,Reactjs,我刚开始学反应。我正在学习教程。指南和我的逻辑告诉我代码不应该工作。但它仍在发挥作用。我已经到了教程说代码会崩溃的地步 我们还没有定义handleClick()方法,所以我们的代码崩溃了 但是我的代码仍然继续工作。我想可能是因为它仍在运行旧版本的代码。所以我刷新了页面并重新运行了npm启动。这些似乎都没用 这是我的密码。正如您所见,我还没有定义handleClick(),但是游戏仍然在运行。我不知道该怎么做 类Square扩展了React.Component{ render(){ 返回( thi

我刚开始学反应。我正在学习教程。指南和我的逻辑告诉我代码不应该工作。但它仍在发挥作用。我已经到了教程说代码会崩溃的地步

我们还没有定义
handleClick()
方法,所以我们的代码崩溃了

但是我的代码仍然继续工作。我想可能是因为它仍在运行旧版本的代码。所以我刷新了页面并重新运行了npm启动。这些似乎都没用

这是我的密码。正如您所见,我还没有定义
handleClick()
,但是游戏仍然在运行。我不知道该怎么做

类Square扩展了React.Component{
render(){
返回(
this.props.onClick()}
>
{this.props.value}
);
}
}
类板扩展React.Component{
建造师(道具){
超级(道具);
此.state={
正方形:数组(9)。填充(空),
};
}
renderSquare(一){
返回(
这个.handleClick(i)}
/>
);
}
render(){
常量状态='下一个玩家:X';
返回(
{状态}
{this.renderSquare(0)}{this.renderSquare(1)}{this.renderSquare(2)}
{this.renderSquare(3)}{this.renderSquare(4)}{this.renderSquare(5)}
{this.renderSquare(6)}{this.renderSquare(7)}{this.renderSquare(8)}
);
}
}
类游戏扩展了React.Component{
render(){
返回(
{/*状态*/}
{/*TODO*/}
);
}
}
// ========================================
ReactDOM.render(
,
document.getElementById('root'))
);


为什么在没有
handleClick()
的情况下,代码仍在工作?

方形组件只有onClick道具,只有在您实际单击组件中提供的按钮后才会调用事件。因此,只有在单击按钮后才会出现错误。在那个时候,你的应用程序将崩溃,但不仅仅是在你启动项目之后

如果仍然没有(由于缓存),请尝试使用以下命令或尝试清除浏览器缓存:

rm -rf node_modules/
npm cache clean --force
npm install
npm start

我已将“我的应用”文件夹移动到新文件夹中。由于我还没有关闭编辑器,vscode复制了我正在处理的文件,并将它们放在桌面上。在我的编辑器中,我看到了错误的文件,但终端运行在正确的目录中。这解释了应用程序在保存时没有更新。你根本不需要重新构建应用程序,它会为你做

npm run build
运行构建用于生产构建,不相关


抱歉问了个愚蠢的问题。当时真的很混乱课程-在vscode中打开时不要移动项目文件夹。如果您确实在适当的文件夹中重新打开vscode。

在启动应用程序之前,您需要重新构建应用程序。当我还没有运行命令npm run build时,您将得到错误。我只是使用npm启动。我以为每次我启动npm时它都会重建应用程序。单击后它也不会崩溃。我将发生的事情作为答案发布。你的答案很有用。我对这种情况很抱歉。啊,你的文件没有保存?它正在另存为一个文件。npm启动时运行的是不同的。哈,有时会发生。