reactjs - 无法访问函数中的道具
问题描述
const OrderComplete = ({
stage
}) =>
const someFunction = () => { console.log(stage) }
useEffect(()=> setTimeout(()=>someFunction(),1000),[])
...
我得到未定义阶段的价值。但是,如果我使用反应开发工具并查看组件道具,例如
组件中的值
解决方案
您应该使用以下依赖数组useEffect
:
const OrderComplete = ({
stage
}) =>
const someFunction = () => { console.log(stage) }
useEffect(()=> setTimeout(()=>someFunction(),1000),[someFunction])
因为如果你传递一个空数组,回调只会在初始渲染时生效,此时stage
道具可能是undefined
推荐阅读
- excel - 在 Excel VBA 中将货币转换为数字
- html - 在固定的全屏菜单 CSS 中滚动
- asp.net - 使用 IdentityServer4 进行无休止的循环重定向
- decimal - ngx-formly json 供电使用十进制管道
- nginx - 在 nginx 中添加从 `url.org//` 到 `url.org` 的重定向
- android - 无论应用从属关系如何,都可以返回到上次打开的活动的正确意图标志
- if-statement - Google 表格中的嵌套 OR 语句 - 匹配评估错误
- selenium - 什么是 Firefox Gecko 相当于 Chrome 的 --disable-dev-shm-usage 标志
- vba - 如何优化一个 VBA 宏,它一次添加到多个阿拉伯语单词的链接
- batch-file - 通过批处理文件删除 wmic 结果中不需要的空格