Dea*_*ool 2 javascript reactjs react-hooks use-effect
我有以下一组运行代码:
useEffect(() => {
if (field[1].isActive === true) {
handleMore();
}
}, [field[1].text]);
Run Code Online (Sandbox Code Playgroud)
问题是有时Fieldjson 响应中没有出现,因此此代码会显示错误。由于我无法将 useEffect 放入某些条件语句中(根据 React 指南,所有 useEffects 应始终以相同的顺序运行),有什么方法可以在依赖项中添加一些代码,例如[field.length? field[1].text: null]. 我不知道。
有人可以帮忙吗?
您可以为此使用可选链接或 && 。
useEffect(() => {
if (field?[1]?.isActive === true) {
handleMore();
}
}, [field?.[1]?.text]);
Run Code Online (Sandbox Code Playgroud)
或者
useEffect(() => {
if (field?[1]?.isActive === true) {
handleMore();
}
}, [field && field[1] && field[0].text]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2503 次 |
| 最近记录: |