【发布时间】:2021-11-16 12:06:09
【问题描述】:
在我的代码中,我使用了一个 context 来保存数据和一个 state 来获取活动 ID。我的问题是当我setState 然后setContext 时,当我得到state 值时,我看到state 设置默认值!
export default function AddKnowledgeScreen({ route, navigation }) {
const { TmpKnowledge, SetTmpKnowledge } = useContext(addKnowledgeContext);
const [activeKnowlegeId, SetactiveKnowlegeId] = useState(-1);
const myref = useRef(null);
return(
<View style={{ flex: 1, alignItems: 'center', backgroundColor: Color.Background, }}>
<Button
onPress={() => {
SetactiveKnowlegeId(5);
var knowledgeData = { Id: 5, Name: "jack" };
SetTmpKnowledge(knowledgeData);
}>
</Button>
</View>
);
}
我发现当我设置我的context 屏幕重新渲染并且所有state 设置为默认值!
【问题讨论】:
标签: react-native react-hooks use-state use-context createcontext