gpt4 book ai didi

react-native - React-navigation Redux 状态管理

转载 作者:行者123 更新时间:2023-12-04 12:51:59 24 4
gpt4 key购买 nike

我正在学习 React Native 和 Redux,并且我已经开始使用 3rd 方库 - 特别是 React Navigation

我已经学习了关于它的教程 Dan Parker's Medium Tutorial我仍然无法让它工作

我的应用程序的 RootContainer:

<PrimaryNavigation />
...

export default connect(null, mapDispatchToProps)(RootContainer)

主要导航定义:
const mapStateToProps = (state) => {
return {
navigationState: state.primaryNav
}
}

class PrimaryNavigation extends React.Component {
render() {
return (
<PrimaryNav
navigation={
addNavigationHelpers({
dispatch: this.props.dispatch,
state: this.props.navigationState
})
}
/>
)
}
}

export default connect(mapStateToProps)(PrimaryNavigation)

主要导航定义:
const routeConfiguration = {
LoginScreen: {
screen: LoginScreen
},
MainContainer: {
screen: MainContainer
}
}

const PrimaryNav = StackNavigator(
routeConfiguration,
{
headerMode: 'none'
})

export default PrimaryNav

export const reducer = (state, action) => {
const newState = PrimaryNav.router.getStateForAction(action,state)
return newState || state;
}

我的创建商店:
const rootReducer = combineReducers({
...
primaryNav: require('../Navigation/AppNavigation').reducer
})

return configureStore(rootReducer, rootSaga)

我收到以下错误:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. Check the render method of 'PrimaryNavigation'
到目前为止我的理解是:
  • RootContainer 连接到一个商店 - 它拥有一个 PrimaryNavigation
  • PrimaryNavigation 包含一个 Navigator (PrimaryNav),它包装了 Navigator 并将其传递给状态
  • PrimaryNav 是实际的导航器 - 我已经定义了路由和默认初始化
  • 处理 PrimaryNav 的 reducer 就是 PrimaryNav.router.getStateForAction

  • 我错过了初始状态吗?我没有正确地将它连接到 Redux 吗?我是否需要触发调度才能进入第一个屏幕?

    谢谢

    最佳答案

    我认为您在代码组织中遗漏了一些东西。

    这是我扩展由 Tyler Mcginnis 完成的 github 记事器应用程序的努力。我更新了代码以支持最新版本的 React 和 React Native,我还扩展了应用程序以使用支持 iOS 和 Android 的 react-navigation。我添加了 Redux 来管理存储,并使用 Redux-Sagas 来处理异步数据获取。

    https://github.com/ahmedkamohamed/react-native-navigation-redux-sagas

    关于react-native - React-navigation Redux 状态管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43186188/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com