父级状态更新后,子级组件不会重新呈现

时间:2020-05-26 20:09:40

标签: javascript reactjs react-native

嗨,我是新来的反应者和本机反应者。我正在使用react导航器,我有一个屏幕,例如ScreenA,它更新了它的父组件(可以正常工作),还有一个屏幕,例如ScreenB,它使用了相同父对象的状态。当screenA更新时,父级screenB不会重新呈现。

这不是默认情况下要发生的吗?我是否必须在父级或ScreenB中使用生命周期方法来相应地重新渲染?

这是父级渲染:

render(){
    return (
      <NavigationContainer>
        <Stack.Navigator initialRouteName="Home">
          <Stack.Screen name="Home" >
            {(props) => <HomeScreen {...props} scannedURL={this.state.scannedURL}/>}
          </Stack.Screen>
          <Stack.Screen name="Scan">
            {(props) => <ScanScreen {...props} updateScanned={this.updateScanned}/>}
          </Stack.Screen>
        </Stack.Navigator>
      </NavigationContainer>
    );

ScanScreen成功更新了HomeScreen使用的字段scanURL,但似乎HomeScreen从不重新渲染。

0 个答案:

没有答案