【问题标题】:Why to create seperate reducer for react nativation while react-navigation redux setup?为什么要使用 react-navigation redux 设置为反应导航创建单独的减速器?
【发布时间】: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


    【解决方案1】:

    您可以阅读文档 -> https://reactnavigation.org/docs/guides/redux

    简单地说: - 不仅可以从屏幕使用导航(来自saga/redux/redux thunk

    【讨论】:

      猜你喜欢
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多