我在 StackNavigator(祖父导航器)内的另一个 TabNavigator(父导航器)内使用 TabNavigator(子导航器)。
这是我的代码。
const SimpleApp = StackNavigator({
Home: { screen: GParentScene, navigationOptions:{title:'MyChats', header:{visible: false}} },
});
const GParentScene = TabNavigator({
A: { screen: ParentScene1 },
B: { screen: ParentScene2 },
});
const ParentScene1 = TabNavigator ({
Tab1: {screen: ChildScene1},
Tab2: {screen: ChildScene2}
});
和 ParentScene2 的类似屏幕。这是我简单的儿童场景。
class ChildScene1 extends React.Component {
render(){
return(
<View>
<Text> this is content of Tab1 </Text>
</View>
)
}
}
class ChildScene2 extends React.Component {
render(){
return(
<View>
<Text> this is content of Tab2 </Text>
</View>
)
}
}
现在我做了一个容器
class AppContainer extends Component {
render() {
return (
<SimpleApp screenProps={this.props}/>
)
}
}
function matchDispatchToProps(dispatch){
return bindActionCreators(ActionCreators, dispatch)
}
function mapStateToProps(state){
console.log('state tree',state)
return{
Count: state.Count,
}
}
并将它与我在提供程序中的 redux 商店连接起来
const App = () => (
<Provider store={store}>
<AppContainer />
</Provider>
);
AppRegistry.registerComponent('reduxnav', () => App);
我将一个容器与我的商店连接起来,并将状态树的动作和状态作为属性传递给每个堆栈子项。我什至可以得到这些财产。但是在这里我首先遇到两个问题,当我的状态发生变化然后属性发生变化时,我将其传递给所有堆栈子级,但它不会导致我的组件重新渲染和
最初我可以看到我的子标签。但是它里面的内容不会被渲染。一旦我从 Tabs1 切换到 Tabs2,所有内容都会变得可见。为什么会这样?
我还发现这不是在 ios 中发生的,而是在 android 平台中发生的。