将jsx元素声明为全局变量

时间:2018-01-20 13:02:06

标签: reactjs react-native

Hello有没有办法全局声明反应组件,这样当我渲染相同的组件时值保持不变,我知道可以使用redux或其他一些状态管理库,但暂时我想使用这个选项因为我正处于项目的中间。例如

constructor() {
    this.accountInfoJSX = <AccountInformation ref={(sender) => {
        this.accountInformationMod = sender;
    }} />;
}

我可以尝试将元素保存在全局变量中,但每次调用render时都会初始化一个新实例。

编辑: 是的确定。我有这种方法。我在屏幕上有2个按钮,我根据这些按钮渲染不同的组件。用户可以对每个组件进行一些更改,因此我尝试使用相同的组件,以便保持组件中所做的更改。我已经尝试返回this.accountInfoJSX以及this.accountInformationMod而不是它无法正常工作。在前者它重新渲染新组件和值丢失,后者它在屏幕上什么也没显示。

get getCurrentScreen() {
    if (this.state.selectedScreen == Screens.accountInformation) {
      return this.accountInformationMod;
    } else if (this.state.selectedScreen == Screens.myInformation) {
      return <MyInformation />;
    }
  }

0 个答案:

没有答案