我想要映射状态,但是该状态(状态的名称是"任务",它是父状态的孩子,称为"时间表"," ;时间表"状态已使用componentWillMount定义)仍未定义UNTIL已在我的页面内触发(单击按钮)动作创建者。但是,我已经在jsx中定义了timesheet.task.map,因此页面无法加载并显示错误"无法读取未定义的属性映射"。 code 正如你在这里看到的,我想要列出一个选择'触发事件时调用的状态选项(页面呈现时仍未定义),但页面无法加载,因为第一次加载页面时,timesheet.task仍未定义
你知道如何解决这个问题吗?我想要初始化州,但我不知道该怎么做。非常感谢你!
答案 0 :(得分:0)
很常见的情况。在render()
的顶部 - 只需添加一个条件来检查该值是否有效..类似于:
if (!this.state.timesheet.task) {
return <p> waiting for my value </p> // add any generic component to here that would await your value
}
根据您的页面布局,您可能只想创建一个小组件,以便在等待填充值时作为条件注入。