如何导出componentDidMount的变量(react / react-native)

时间:2018-02-06 04:33:41

标签: reactjs react-native

如何在课堂上导出变量? 我需要Rudux吗? 我想用

import device_token from './xxx';

下面是我以前的代码。

global.device_token = token 

但是,我不喜欢全局变量。

我只导出Stnig变量,即device_token。 我不能更改devce_token,因为device_token是用户的设备名称。 所以我不想使用redux。 redux状态是可变的。 我需要一个不可变的变量。并导入变量。

export class PushNotification extends Component {
  componentDidMount() {
    SomeAPI.then((token: string) => {
     const device_token = token
  });

  ....
}
你知道吗? 感谢。

1 个答案:

答案 0 :(得分:0)

您似乎希望在其他React组件中访问device_token。如果是这种情况,那么Redux会工作,因为它会提供一个所有组件都可以从中抽取的集中状态。我建议使用Redux来存储/修改device_token,例如:

export class PushNotification extends Component {
  componentDidMount() {
    SomeAPI.then((token: string) => {
      this.props.setDeviceToken(token);
    });

....
}

setDeviceToken调度通过容器传入的动作创建者。