【发布时间】:2020-09-12 19:59:40
【问题描述】:
我有一个 react-native 功能组件,它使用 UseEffect 将操作分派到 Redux 存储以更新字段。字段更新后,我希望组件使用数据来决定是显示数据还是导航离开。
const myScreen = props => {
const fieldFromStore = useSelector(state=> state.mystore.myfield)
useEffect(
()=>{
dispatch(actionThatWillUpdateMyField)
if (fieldFromStore == Something){
props.navigation.navigate('NextPage')
} //else just render the rest of the screen
}, [])
return (
<View>
<Text> {fieldfromStore}</Text>
<View>)
问题是 useEffect 中的 fieldFromStore 将始终为 null,因为在渲染 useEffect 期间,商店尚未更新。
我在这里违反了某种最佳实践吗?如何调度一个操作来更新 Store,然后使用该数据来确定页面的呈现方式?
非常感谢您的帮助。
【问题讨论】:
标签: react-native redux react-redux react-hooks use-effect