#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