我正在为我的项目使用以下配置:
反应:16.6.3 反应本机:0.57.4 react-native-router-flux:4.0.6所以我正在尝试将redux与场景集成。
我的场景组件
class Login extends Component {
const mapDispatchToProps = dispatch => {
return {
otpSend: () => dispatch(otpSend())
};
};
const mapStateToProps = state => {
return {
routes: state.routes,
otp: state.login.otp
};
};
export default connect(
mapStateToProps,
mapDispatchToProps
)(Login);
}
我的App.js类(开始类)
import Routes from "./src/screens/routes";
const store = configureStore();
export default class App extends Component {
render() {
return (
<Provider store={store}>
<Routes />
</Provider>
);
}
}
我的路线课程:
class Routes extends React.Component {`
reducerCreate(params) {`
const defaultReducer = Reducer(params);`
return (state, action) => {`
this.props.dispatch(action);`
return defaultReducer(state, action);`
};`
}`
render() {
return (
<Router createReducer={this.reducerCreate.bind(this)}>
<Scene key="root">
<Scene key="landing" component={Landing} title="Landing" initial />
<Scene
key="login"
component={Login}
title="Login"
type="reset"
/>
</Scene>
</Router>
);
}
}
export default connect()(Routes);
所以我的otpSend调度方法已按预期触发。
不起作用:我的道具(这里为this.props.otp)没有在我的登录场景组件中更新。
componentDidUpdate
方法未触发。
我不确定我缺少什么或者RNRF是否完全不支持。有人可以在这里帮助我