reactjs - 来自函数的 setState 不更新属性
问题描述
我有一个按钮分配给一个应该在单击后更新页脚属性但它不会更改页脚文本的函数。然而,它正在执行控制台日志语句。我有一种感觉,它与“这个”有关,但我不知道谷歌要解决什么问题。
我正在尝试学习 Reactjs,特别是关于状态和超时的更多信息。
https://jsfiddle.net/dwekg5aq/2/
页脚功能:
updateFooter = () => {
//alert("clicked");
this.setState = {
footer: "new footer text from button!"
}
console.log("updateFooter func fired.")
console.log(this.state)
}
编辑:不要在函数中分配你的状态:/
任何帮助深表感谢
解决方案
setState
是一个函数。你需要这样称呼它:
this.setState ({
footer: "new footer text from button!"
});
从反应文档:
您可以使用单独的 setState() 调用独立更新 [与您的状态不同的元素]。
您不会将结果分配setState
给任何东西,您只需调用它,因为它是您类中的 React 方法。
代替
this.setState = ({
footer: "new footer text from button!"
});
你只需要调用它并让 React 为你管理它:
this.setState ({
footer: "new footer text from button!"
});
推荐阅读
- powerbi - 日期范围过滤器之间 PowerBi
- c# - 我在 IIS 上使用 Entity Framework 托管了一个 ASP.NET Web 服务,如何使用 ip 访问它?
- google-analytics - Google Analytics 事件跟踪 - 不适用于下载链接
- java - 如何知道一个java进程正在运行什么程序
- nginx - nginx位置在/之后重写任何内容到root
- sql - SQL限制对另一个表的引用次数而不锁定
- html - 文本显示在弹出菜单顶部
- maven - 前端 maven 插件无法在 docker build 中安装 yarn
- algorithm - 逆向拓扑排序算法
- replace - 好的假设:如今的程序员在重构时会在全球范围内搜索和替换?