Как использовать компоненты в качестве шаблона, чтобы все остальные компоненты отображались под этим компонентом - PullRequest
0 голосов
/ 08 мая 2018

Как отобразить каждый компонент в компонентах <Container/> и <StyleProvider/>? Я хочу использовать 2 компонента в качестве шаблона. Я использую react-native-router-flux для маршрутизации.

Когда вызывается Actions.myAction(), он вызывает требуемый компонент, но не выполняет рендеринг в <StyleProvider/>

render(){
return (
    <Root>
        <StyleProvider style={getTheme(commonColor)}>  
            <Container>
                 <StatusBar backgroundColor="#386890" barStyle="light-content"/>
                 <Routes /> 
            </Container>
        </StyleProvider>
    </Root>)}

Вот мои маршруты

import React from 'react'
import { Router, Scene } from 'react-native-router-flux'
import Home from '../Home'
import Scan from '../Scan'
import Login from '../Login'
import ViewHistory from '../ViewHistory'
import History from '../History'
import Welcome from '../welcomeLoader/Welcome'
import Main from '../../../Main'


const Routes = () => (
   <Router>
     <Scene clone key = "root">
     <Scene key = "welcome" component = {Welcome} hideNavBar={true} initial = {true} />
     <Scene key = "history" component = {History}  hideNavBar={true} />
     <Scene key = "login" component = {Login} hideNavBar={true} />
     <Scene key = "scan" component = {Scan}  hideNavBar={true} />
     <Scene key = "viewHistory" component = {ViewHistory} hideNavBar={true} />
  </Scene></Router>)
export default Routes

1 Ответ

0 голосов
/ 08 мая 2018

Один из способов перевыбора - это изменить key на компоненте.

Таким образом, в этом случае:

render(){
   return (
      <Root>
         <StyleProvider style={getTheme(commonColor)} key={commonColor}>  
            <Container>
                <StatusBar backgroundColor="#386890" barStyle="light-content"/>
                <Routes /> 
            </Container>
         </StyleProvider>
     </Root>
)}

Возможно, добавьте key={commonColor} в качестве компонента key, если он изменится, он должен перерисовать дерево.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...