Использование react-native-router-flux против nativebase

#javascript #react-native #react-native-router-flux #native-base

#javascript #react-native #react-native-router-flux #native-base

Вопрос:

Я прочитал https://blog.nativebase.io/the-caveats-of-using-navigator-in-react-native-9547d99172ce#.cghvxk1mo

использование react-native-router-flux для навигатора, но когда я использую его с nativebase. Компонент nativebase не активен

 /**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/

import React, { Component } from 'react';
import { AppRegistry,Text,View,Navigator } from 'react-native';
import { Container,Header,Content,Title,Badge,Tabs,Button,Icon} from 'native-base';
import { Router, Scene } from 'react-native-router-flux';
import Home from './component/Home';
import MyScene from './component/MyScene';

class CookApp extends Component {
  //State la bien dung de luu giu trang thai. Con props la bien dung de trung chuyen du lieu, ham giua cac component
  //dat ten class phai viet hoa dau, ten file phai trung file class
  render() {
    return (
      <Router hideTabBar={true}>
          <Scene key="PageOne" component={Home} title="Home" initial={true} />
          <Scene key="pageTwo" component={MyScene} title="MyScene" />
      </Router>
    );
  }
}


AppRegistry.registerComponent('CookApp', () => CookApp);  

файл: Home.js

 import React, { Component, PropTypes } from 'react';
import { View, Text, TouchableHighlight } from 'react-native';
import { Container,Header,Content,Title,Badge,Tabs,Button,Icon,Input} from 'native-base';
import { Actions } from 'react-native-router-flux';

export default class Home extends Component {

  render() {
    const goToPageTwo = () => Actions.pageTwo({text: 'Hello World!'});
    return (
      <Header>
        <Button>
          <Icon name='ios-arrow-back' />
        </Button>
        <Title>CookApp</Title>
        <Button>
          <Icon name='ios-menu' />
        </Button>
      </Header>
      <Container>
        <Content>
          <Button transparent onPress={Actions.pageTwo}>
            go to pageTwo
          </Button>
          <View style={{margin: 128}}>
            <Text onPress={goToPageTwo}>This is PageOne!</Text>
          </View>
        </Content>
      </Container>
    )
  }
}  

Файл: Мой scene.js

 import React, { Component, PropTypes } from 'react';
import { View, Text, TouchableHighlight } from 'react-native';
import { Container,Header,Content,Title,Badge,Tabs,Button,Icon} from 'native-base';
import { Actions } from 'react-native-router-flux';
export default class MyScene extends Component {
  // static propTypes = {
  //   title: PropTypes.string.isRequired,
  //   onForward: PropTypes.func.isRequired,
  //   onBack: PropTypes.func.isRequired,
  // }
  render() {
    return (
      // <Container>
      //   <Header>
      //     <Button transparent onPress={this.props.onBack}>
      //       <Icon name='ios-arrow-back' />
      //     </Button>
      //     <Title> { this.props.title }</Title>
      //     <Button transparent onPress={this.props.onForward}>
      //       <Icon name='ios-menu' />
      //     </Button>
      //   </Header>
      //
      //   <Content>
      //     <Button transparent onPress = {this.deleteText}>
      //       <Icon name='ios-home' />
      //     </Button>
      //   </Content>
      // </Container>
      <View style={{margin: 128}}>
      <Text>This is PageTwo!</Text>
      <Text>{this.props.text}</Text>
    </View>
    )
  }
}  

При запуске приложения. Компонент NativeBase не активен.

Кто-нибудь использовал NativeBase с react-native-router-flux. пожалуйста, приведите мне пример! Спасибо за любую помощь!

Ответ №1:

NativeBase не имеет никакого отношения к react-native-router-flux . Так что это должно быть просто и прямолинейно.

Native-Starter-Kit (NSK) ранее реализовал NativeBase с react-native-router-flux помощью . В связи с улучшением возможностей React Native NSK заменил react-native-router-flux на React Native Navigator.

Кроме того, очень скоро NSK внедрит экспериментальный Navigator.

Комментарии:

1. @MaheshKarthu NSK обновлен до последней версии NativeBase и React Native вместе с потоком маршрутизатора React Native

2. вот пример последнего обновления github.com/vijaychouhan-rails/AllInOne

Ответ №2:

найдите последний пример на https://github.com/vijaychouhan-rails/AllInOne /

Я надеюсь, что это даст вам лучшее понимание того, как использовать NativeBase with react-native-router-flux