После нескольких тестов в этом сценарии у меня есть некоторые вопросы, на которые я не могу ответить сам, поэтому я прошу помощи, чтобы прояснить мои концепции.
- Поставщик и реквизиты в Navigator
В чем разница и как лучше всего настроить навигатор и передать хранилище в разные сцены приложения React Native.
export default class App extends Component {
render () {
return (
<Provider store={store}> //<-- here
<Navigator style={{flex: 1}}
initialRoute={{ component: MainContainer }} //<-- here
renderScene={ (route, navigator) => {
const Component = route.component;
return (
<View style={{flex: 1, marginTop:40}}>
<Component navigator={navigator} route={route} {...route.passProps} />
</View>
...
MainContainer
связан с Component
в функции react-redux connect
для передачи реквизитов и действий в props
.
Это лучший доступ к контексту или к реквизиту?
vs
const store = createStoreWithMiddleware(reducer, initialState); //<-- here
export default class App extends Component {
render () {
return (
<Navigator style={{flex: 1}}
initialRoute={{ component: MainComponent }}
renderScene={ (route, navigator) => {
const Component = route.component;
return (
<View style={{flex: 1, marginTop:40}}>
<Component
navigator={navigator}
route={route}
{...route.passProps}
store={store} //<-- here
/>
</View>
...
- В компонентной сцене (не обертывающей как смарт-контейнер), как настроить слушатель об изменениях в состоянии редукции или сделать так, чтобы я привязывал состояние компонента в редукционное состояние.
Передача state
(из магазина Redux) и actions
как passProps
при нажатии newScene
в Navigator
, а затем newScene
диспетчеризирует действия и выполняется правильно, состояние обновляется, но... не перерисовывает сцену.
Нужно ли привязывать компонент состояния к состоянию Redux, чтобы увидеть изменения, отраженные на экране?
Есть ли образец передового опыта в этом сценарии?
props
иconnect
в одном и том жеScene
В тех же Scene
, сверху вниз компоненты, что является лучшим подходом для передачи redux state
(не говоря о component state
) как обертывание компонента в 'smart' container
с 'connect
' от react-redux
или передать сценарий дыры как props
.