【发布时间】:2025-11-06 10:20:01
【问题描述】:
我一直在尝试使用react-native-router-flux 进行设置并按照步骤操作。然后尝试遵循示例并记录大量信息以尝试对其进行逆向工程。 然而,即使按照我能找到的所有信息,我最终还是得到了一些奇怪的状态结构:
scene 是一个包含路由器状态的对象。然而,初始状态在 scene 内部复制(因此它再次包含 devices 和 rooms 对象)。
如果我更改普通状态设备或路由,它会引发错误:Key <name of the key> has already been defined(其他人报告相同的问题here)。
所以我的问题是:您如何使用 redux 路由您的 react 原生应用程序?你使用其他库吗?是否有任何示例或文档资源可以用来修复我的代码?
认为它具有典型的 redux 结构。为了这个例子,这就是它在我的app/index.js 上的样子:
import React, { Component } from 'react'
import { Router, Scene } from 'react-native-router-flux'
import { createStore, applyMiddleware, compose } from 'redux'
import { Provider, connect } from 'react-redux'
import logger from 'redux-logger'
import reducers from './reducers'
import Home from './components/home'
import Device from './components/devices'
import Login from './components/login'
const middleware = [logger()]
const store = compose(
applyMiddleware(...middleware)
)(createStore)(reducers)
const RouterWithRedux = connect(reducers)(Router)
export default class AppContainer extends Component {
render () {
return (
<Provider store={store}>
<RouterWithRedux>
<Scene key='login' component={Login} title='Login' />
<Scene key='root' initial={true}>
<Scene key='home' component={Home} title='Home' />
<Scene key='device' component={Device} title='Device' />
</Scene>
</RouterWithRedux>
</Provider>
)
}
}
【问题讨论】:
-
其实是我的第一句话。我试图猜测为什么我的状态看起来像那样
-
请查看此链接; github.com/lynndylanhurley/react-native-router-flux#reduxflux,我遵循了这个指南,我得到了 redux 路由 i354.photobucket.com/albums/r416/TeNm/…
-
@jsdario 我在使用 redux 的 react-native-router-flux 时遇到了一些麻烦。你介意帮我一把吗?真的很感激! *.com/questions/39609148/…
-
好像你已经删除了它@JoKo
-
@jsdario 抱歉,实际上我自己能搞清楚!真的很感谢你检查出来。我又遇到了一个问题,似乎另一位成员也遇到了同样的问题。如果你不介意,你可以看看吗? *.com/questions/39611987/… 再次感谢 jsdario!
标签: javascript reactjs react-native redux react-redux