我有一个新的React Native应用,现在所有内容都保存在一个文件中。以减少技术负担和增加模块化的名义,我想开始将我的几个屏幕组件中的每个组件移到单独的文件中。问题在于,有些状态(用户数据)和功能(网络,持久性数据)是全局的,并在我的App的各个屏幕上使用。
由于这个原因,我既无法将屏幕代码移动到单独的文件中,又无法在整个应用程序中利用全局状态:
var globalState = {
val: "Default",
}
class HomeScreen extends React.Component {
render() {
return (
<View></View>
)
}
someFunction = () => {
Alert.alert(globalState.val);
}
}
class LoginScreen extends React.Component {
render() {
return (
<View></View>
)
}
someFunction = () => {
globalState.val = "Something";
}
}
基本上,我想从两个屏幕访问globalState,但是将它们放在单独的文件中。我希望每个屏幕 share globalState对象,以便一个屏幕可以更新信息,而另一个屏幕可以访问该信息。
我想在不使用Redux之类的其他库的情况下解决此问题。
答案 0 :(得分:0)
您需要使用Redux或Mobx之类的全局状态管理解决方案,或者使用React的Context API或useContext挂钩之类的东西。