React Native:状态更改后App.js不加载堆栈

时间:2018-07-08 18:19:11

标签: react-native redux

在我的app.js文件中,我试图基于redux中的身份验证加载不同的堆栈导航器。但是,当我使用身份验证更新状态时,该应用程序不会呈现其他导航器。我正在登录组件中运行检查以验证身份验证是否正确更新。

// app.js
import { Tabs } from './_router';
import { Nav } from './_router';

// get redux
import { createStore, applyMiddleware } from 'redux';
import { Provider, connect } from 'react-redux';
import reduxThunk from 'redux-thunk';
import rootReducer from './_reducers';

const createStoreWithMiddleware = applyMiddleware(reduxThunk)(createStore);

const store = createStoreWithMiddleware(rootReducer);

class App extends Component {

  render() {

  const state = store.getState();

  return (

    <Provider store={store}>
      {
        state.login.authenticated
        ?
        <Nav />
        :
        <Tabs />
      }
    </Provider>

    );
  }
}

export default App;

我在登录组件中进行了此检查,登录后它会从“未认证”切换为“已认证”。但是App.js不会呈现其他堆栈导航器。

// login.js
{
    authenticated
    ?
    <Text>Authenticated</Text>
    :
    <Text>not authenticated</Text>
}

当App.js文件更改并加载其他堆栈时,该文件是否应注册身份验证?

**解决方案:我基本上只是将另一个组件砍在一起,我在其中调用身份验证并运行相同的三元组,并且运行良好...解决了我的问题,但没有按照我尝试的方式解决。< / p>

0 个答案:

没有答案