首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在React Native中使用全局变量?

如何在React Native中使用全局变量?
EN

Stack Overflow用户
提问于 2016-02-23 20:26:14
回答 4查看 146.1K关注 0票数 91

在React Native中,当我在不同的屏幕之间移动时,我想使用全局变量

有没有人能帮我实现这个目标?

EN

回答 4

Stack Overflow用户

发布于 2018-12-17 14:27:40

您可以使用global关键字来解决此问题。

假设您想要将一个名为isFromManageUserAccount的变量声明为全局变量,您可以使用以下代码。

代码语言:javascript
复制
global.isFromManageUserAccount=false;

在像这样声明之后,您可以在应用程序中的任何地方使用此变量。

票数 2
EN

Stack Overflow用户

发布于 2016-02-26 04:27:05

设置通量容器

简单的例子

代码语言:javascript
复制
import alt from './../../alt.js';

    class PostActions {
        constructor(){
        this.generateActions('setMessages');
        }

        setMessages(indexArray){
            this.actions.setMessages(indexArray);
        }
    }


export default alt.createActions(PostActions);

商店看起来像这样

代码语言:javascript
复制
class PostStore{

    constructor(){

       this.messages = [];

       this.bindActions(MessageActions);
    }




    setMessages(messages){
        this.messages = messages;
    }
}

export default alt.createStore(PostStore);

然后,侦听存储的每个组件都可以在构造函数中共享此变量,这就是您应该获取它的地方

代码语言:javascript
复制
constructor(props){
    super(props);

   //here is your data you get from the store, do what you want with it 
    var messageStore = MessageStore.getState();

}


    componentDidMount() {
      MessageStore.listen(this.onMessageChange.bind(this));
    }

    componentWillUnmount() {
      MessageStore.unlisten(this.onMessageChange.bind(this));
    }

    onMessageChange(state){ 
        //if the data ever changes each component listining will be notified and can do the proper processing. 
   }

这样,您可以在整个应用程序中共享您的数据,而无需每个组件相互通信。

票数 -1
EN

Stack Overflow用户

发布于 2020-02-25 17:58:19

如果您只想将一些数据从一个屏幕传递到下一个屏幕,您可以使用navigation.navigate方法传递它们,如下所示:

<Button onPress={()=> {this.props.navigation.navigate('NextScreen',{foo:bar)} />

在'NextScreen‘中,您可以使用navigation.getParam()方法访问它们:

let foo=this.props.navigation.getParam(foo);

但是,如果要传递的变量不止两个,那么它可能会变得非常“混乱”。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35577551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档