如何在反应应用程序中重新加载页面(状态)

2024-06-01

我开始学习react.js,并在react应用程序中开发了一个简单的石头剪刀布游戏。我发现创建一个重新加载按钮有点困难,因为它当然与具有如下功能的 javascript 按钮不同:

<button onclick="reload">RESTART GAME</button>
function reload() {
  location.reload();
}

对于这个反应应用程序,我认为可行的是:

<button type="button" onClick={ refreshPage }> <span>Reload</span> </button>
function refreshPage(){ 
  window.location.reload(); 
}

到 App.js 文件,但我收到错误消息:

./src/App.js
Syntax error: Unexpected token (64:11)

  62 |   }
  63 | 
> 64 |   function refreshPage(){
     |            ^
  65 |     window.location.reload();
  66 |   }
  67 | } 

完整的项目可以在这里找到github https://github.com/tobi-ajala/react-rockpaperscissors(npm start 将在终端/控制台中启动项目)

任何有关如何纠正此问题的见解将不胜感激,谢谢!


在反应中,您不必刷新页面来重置状态。我查看了您的项目,发现您将分数和游戏数据保存在组件的状态中。这可以帮助您轻松重置游戏,只需将状态设置为初始值即可。

例如

// add a method to your component for resetting state
restartGame(event) {
  this.setState({ games: [] });
}

// and in your components render or any other place add the reset button
<button type="button" onClick={ this.restartGame.bind(this) }>
  <span>Reload</span>
</button>

不要忘记绑定您的方法以便能够使用this在他们中。有关更多信息,您可以阅读 React 文档处理事件 https://reactjs.org/docs/handling-events.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在反应应用程序中重新加载页面(状态) 的相关文章

随机推荐

  • 使用 TensorFlow 和 Keras 的卷积神经网络精度较低 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划创建一个 CNN 来预测蘑菇类型 并从互联网上收集了 2500 多张照片 数据集有 156 个类别 不同类型的蘑菇 我在 Tensorfl
  • 如何验证使用 php 上传的文件不包含可执行二进制文件?

    使用简单的 Firefox 插件 黑客可以更改他们想要上传的任何文件的 MIME 类型 绕过文件类型检查器 然后 黑客可以使用 GIMP 等程序将 php 脚本嵌入到图像 音频或任何其他文件的二进制数据中 我该如何检查并防止这种情况发生 您
  • JNI:无法获取数组长度

    我面临下一个问题 我无能为力byte jbyteArray 在C代码中 所有在 JNI 中使用数组的函数都会导致JNI DETECTED ERROR IN APPLICATION jarray argument has non array
  • 仅在安装后通过 WhatsApp 分享

    我正在尝试为安装了该应用程序的访问者提供 WhatsApp 共享选项 针对移动网站 验证访问者是否能够使用此功能以便我可以相应地启用 禁用它的最佳方法是什么 该功能只是一个使用自定义 URL 方案的链接 a href Hello world
  • 更新数据库中的项目,而不使用 ContentValues 中设置的所有列

    例如 我有四列 first name last name phone number and picture 我的代码中的某个地方有 ContentValues values new ContentValues values put MyPe
  • 使用“for”循环迭代 C++ Vector

    我是 C 语言的新手 我已经开始使用向量 并且注意到在我看到的所有代码中通过索引迭代向量 for循环总是基于向量的 在 Java 中 我可能会用 ArrayList 做这样的事情 for int i 0 i lt vector size i
  • jqgrid,调用URL带参数为Json返回

    我的 aspx 页面上有以下代码 jQuery listFondos jqGrid url PorMyController LoadGridData datatype json mtype GET colNames col1 col2 et
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • libcurl 链接时 ssl 后端 (openssl) 与编译时 ssl 后端不同(无/其他)

    我的系统是macOS 10 13 1 我尝试导入 pycurl 是错误的 ImportError pycurl libcurl link time ssl backend openssl is different from compile
  • 无法在 IE 上运行 Selenium 脚本

    我必须在 IE 10 浏览器上运行 Selenium 测试 为了运行以下脚本 我执行了以下操作 下载IEDriverServer 64位 因为我的机器是64位 here http code google com p selenium dow
  • 如何在VS2010中获取T4来迭代类的属性

    我使用的是 Visual Studio 2010 并且安装了有形的 T4EditorPlusModellingTools 我只是在玩T4 以前从未接触过它 我想做的是查看项目中的一个类 并写出每个属性 谁能给我关于如何构建 tt 文件的绝对
  • 如何使用 React TransitionMotion willEnter()

    Using React Motion 的 TransitionMotion https github com chenglou react motion 我想要为 1 个或多个盒子进出设置动画 当一个盒子进入视图时 它的宽度和高度应该从 0
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • 谷歌闭包编译器和jquery

    我将 js 代码复制粘贴到谷歌编译器中 当我将其复制回我的应用程序时 它不起作用 我意识到我的代码需要jquery 所以我将jquery代码和我的代码复制到google编译器中 希望它能轻松解决问题 但它也不起作用 在chrome下 代码有
  • PreferenceActivity更新摘要

    我有一个PreferenceActivity有一个 2 层树PreferenceScreens 类似
  • 使用 webclient 类将文件上传到文件服务器

    目前我有一个应用程序可以从我的网络应用程序接收上传的文件 我现在需要将该文件传输到恰好位于同一网络上的文件服务器 但情况可能并不总是如此 我试图在 C NET 中使用 webclient 类 string filePath C test 5
  • 不同 servlet-api 版本冲突

    我正在使用 Maven 和 Jetty 作为服务器来开发 RestEasy Web 服务 其中一项服务应使用扩展 javax servlet http HttpServletResponseWrapper 的 Filter 问题出在来自 s
  • 以独立于区域设置的方式读取 Excel 文件

    我使用以下代码从各种 Excel 文件读取数据 IMEX 1 to force strings on mixed data HDR NO to process all the available data Locale 1033 is en
  • java中import和class.forName的区别

    import 和 class forName 都会加载类文件 当我在jsp文件中做一个导入mysql数据的例子时 需要通过class forName导入驱动类 当我通过import语句导入jdbc驱动程序时 它无法从tomcat服务器中的m
  • 如何在反应应用程序中重新加载页面(状态)

    我开始学习react js 并在react应用程序中开发了一个简单的石头剪刀布游戏 我发现创建一个重新加载按钮有点困难 因为它当然与具有如下功能的 javascript 按钮不同