反应本机更改 hookState 但组件不重新渲染
react native change hookState but component does not re-render
我是 React native 开发新手
我正在使用挂钩来设置用户信息(头像+姓名)。喜欢下面
但是在 setUserAvt 和 setUserName 之后,我没有看到 RecentlyUserHeader 重新呈现,只有当我按 cmd+S 保存代码时它才会改变。谁能帮我知道这个问题?谢谢
使用带空依赖数组的useEffect意味着里面的代码只在组件挂载时执行一次。当你的组件挂载时你调用你的 api 但你也在这里设置你的导航选项。所以,这段代码也执行“一次”。但是它应该在您获得数据和 re-render 后对数据变化做出反应。试试这个:
React.useEffect(() => {
_getMasterInfoApi()
}, [])
React.useEffect(() => {
navigation.setOptions({
headerTitle: props => <RecentlyUserHeader {...props, userAvt, userName} />
... you get the idea
})
}, [userAvt, userName])
我是 React native 开发新手
我正在使用挂钩来设置用户信息(头像+姓名)。喜欢下面
但是在 setUserAvt 和 setUserName 之后,我没有看到 RecentlyUserHeader 重新呈现,只有当我按 cmd+S 保存代码时它才会改变。谁能帮我知道这个问题?谢谢
使用带空依赖数组的useEffect意味着里面的代码只在组件挂载时执行一次。当你的组件挂载时你调用你的 api 但你也在这里设置你的导航选项。所以,这段代码也执行“一次”。但是它应该在您获得数据和 re-render 后对数据变化做出反应。试试这个:
React.useEffect(() => {
_getMasterInfoApi()
}, [])
React.useEffect(() => {
navigation.setOptions({
headerTitle: props => <RecentlyUserHeader {...props, userAvt, userName} />
... you get the idea
})
}, [userAvt, userName])