上下文值更新不会触发React Native中的子组件重新渲染

时间:2020-08-07 05:30:59

标签: reactjs react-native use-context

我正在使用React useContext挂钩,但是遇到了意料之外的奇怪问题。 这是我的项目的代码段。

App.ts
<SharedAppContext.Provider value={shared}>
     <ChildComponent />
     <ChildComponent2 />
</SharedAppContext.Provider>

ChildComponent.ts

class ChildComponent extends React.Component<IChildProps, {}> {
    ...
        <Text>{this.props.sharedData.value}</Text>
    ...
}

interface IChildProps {
    sharedData: AppSharedData;
}
export default function (props: any) {
    const sharedData = React.useContext(SharedAppContext);
    return <ChildComponent {...props} sharedData={sharedData} />;
}

在其他类ChildComponent2中,我更新了上下文值,但它不会立即重新呈现两个子组件。仅重新渲染ChildComponent2。 问题在于,为什么不根据上下文值更改重新渲染ChildComponent。

提前感谢您的帮助。

0 个答案:

没有答案