是否可以根据react-native-router-flux中的某些异步逻辑设置不同的初始场景? 我实际上要做的是在第一次运行应用程序时显示不同的场景(让我们说一个登录页面)。我通过在本地sqlite数据库中存储一些值来确定第一次运行。
我目前的实施是设置一个“假”'组件作为初始场景,我可以在其中执行数据库逻辑,然后重定向到适当的场景。虽然它的工作原理我强烈认为必须有一个更好的方法。
感谢。
//currenlty, App.js looks something like this:
//imports here
//app starting point, imported into index.ios.js and index.android.js
export default class App extends Component {
render() {
const store = createStore(allReducers, {});
return (
<Provider store={store} >
<Router>
<Scene key="dummy" component={Dummy} />
<Scene key="login" component={Login} />
<Scene key="main" component={Main} />
</Router>
</Provider>
);
}
}
And dummy component something like this:
//imports here
class Dummy extends Component {
componentWillMount() {
const initService = new InitService();
//some asyn func that checks local db to determine if this is the first time running
initService.hasRunBefore()
.then(value => {
if (value === true) {
Actions.main({ type: 'replace' });
}
else {
Actions.login({ type: 'replace' });
}
}
);
}
render() {
return (
<View />
);
}
}
export default Dummy;