3
所以最初我的應用程序是給店裏分量罰款index.ios.js
像這樣:在使用NavigatorIOS時,React Native如何將商店傳遞給Component?
class Laybium extends Component {
render() {
return (
<Provider store={store}>
<AudioPlayerPage />
</Provider>
);
}
}
但是我想添加一些更多的屏幕,所以我用NavigatorIOS
像這樣:
class Laybium extends Component {
render() {
return (
<Provider store={store}>
<NavigatorIOS
initialRoute={{
component: Screen1,
title: 'Screen 1: Pick username'
}}
style={{flex: 1}}
/>
</Provider>
);
}
}
這使我的應用程序去 - >屏幕1 - >屏幕2 - >屏幕3 - > AudioPlayerPage(我顯示的原始屏幕)。
屏幕1 - > 2 - > 3的轉換正常工作。但現在我不知道如何提供商店和道具給我的組件AudioPlayerPage
?由於將NavigatorIOS
組件包裝在Provider
組件中似乎不起作用。
這裏是我的Screen3.js過渡至我的部件AudioPlayerPage
class Screen3 extends Component {
static propTypes = {
navigator: PropTypes.object.isRequired
}
constructor(props, context) {
super(props, context);
this._onForward = this._onForward.bind(this);
}
_onForward() {
this.props.navigator.push({
component: AudioPlayerPage,
title: 'AudioPlayer: play synced song'
// TODO: pass store
});
}
render() {
return (
<View style={styles.container}>
<Text style={styles.text}>Screen3</Text>
<TouchableHighlight style={styles.button}
onPress={this._onForward}
underlayColor='#99d9f4'>
<Text style={styles.buttonText}>Go to AudioPlayerPage</Text>
</TouchableHighlight>
</View>
);
}
}
什麼版本的反應和react-native你有你package.json?我無法通過「反應」來構建:「15.0.2」,「react-native」:「0.26.3」,「react-native-router-flux」:「^ 3.35.0」,with和沒有^ –
也我有Xcode版本7.3.1 –
我正在使用反應15.3.1,react-native 0.33.0,並且react-native-router-flux^3.35.0。我還沒有嘗試過iOS,但只適用於Android。 – George