我正在使用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。
提前感谢您的帮助。