reactjs - 如何在没有 onClick 事件的情况下在渲染函数中使用 setState
问题描述
我在渲染中有地图函数,如果地图函数内部满足某些条件,我想设置状态,如何在渲染函数中设置状态。我有以下代码
render(){
progressNum = this.state.progressData.map((data,index) => {
{
data.status=="unmarked"?
this.setState({
checkd:true,
})
:
this.setState({
checkd:false,
})
}
....}
问题:循环调用渲染
解决方案
恕我直言,您不应该在渲染函数中设置状态,因为这会触发另一个渲染,您可能最终会陷入无限循环的渲染。
推荐阅读
- c - 设置同步文件写入超时而不用 time() 浪费微秒
- node.js - reactjs构建系统中发生了什么?
- scylla - change TokenRange on Scylla
- c++ - 要在 C/C++ 中使用共享库,.h 和 .so 文件都需要吗?
- mongodb - MongoDB 聚合 - 通过包含文本对结果进行分组
- android - 将光标移动到 TextField 的末尾 - Nativescript
- jquery - 仅在数据表中导出列标题
- firebase - 为什么 iOS 平台可以在没有 google 服务的情况下使用 Firebase/Firestore?
- javascript - 我可以将分析脚本放在 javascript 文件中吗
- javascript - 如何通过在 svg 中开始一个新循环来停止以前的动画