【发布时间】:2018-01-28 17:16:07
【问题描述】:
目前我正在研究 React Native,在设置 react-navigation 和 redux 时,我看到很多文章创建了这样一个单独的 reducer。
const navReducer = (state, action) => {
const newState = AppNavigator.router.getStateForAction(action, state);
return newState || state;
};
并在 combineReducers 中传递这个 reducer 并连接如下。
@connect(state => ({
nav: state.nav
}))
class AppWithNavigationState extends Component {
render() {
return (
<AppNavigator
navigation={addNavigationHelpers({
dispatch: this.props.dispatch,
state: this.props.nav
})}
/>
);
}
}
export default function NCAP() {
return (
<Provider store={store}>
<AppWithNavigationState />
</Provider>
);
}
但我正在使用 react 导航而不创建任何减速器,如下所示
import { AppNavigator } from './router';
export default class App extends Component {
constructor(props) {
super(props);
}
render() {
return (
<Provider store={store}>
<AppNavigator/>
</Provider>
);
}
}
以上两种方法有什么区别?
【问题讨论】:
标签: react-native redux react-navigation