setState後、render()が更新されない
react-nativeを用いてコンポーネント間の値のやりとりをしたいと思いっています。
子コンポーネントのイベントから親コンポーネントのchangecountを実行して、親コンポーネントの{selectedTab:0}を更新。sub2をタップした回数をAppでインクリメントしてSub1に表示することを期待していますが、render()は一度しか呼ばれてないようです。setState()を実行すれば、そのコンポーネントと子コンポーネントのrender()が実行されるという認識なので間違っていたらご指摘お願いします。
export default class App extends Component {
constructor(props) {
super(props);
this.state = {selectedTab:0};
}
changecount(){
count = this.state.selectedTab;
this.setState({selectedTab:count+1});
}
render() {
console.log(this.stae) //undefined
return (
<View style={styles.container} >
<View style={styles.sub1}>
<Sub1 selectnow={this.state.selectedTab}/>
</View>
<View style={styles.sub2}>
<Sub2 method={this.changecount}/>
</View>
</View>
);
}
}
class Sub1 extends Component{
constructor(props) {
super(props);
}
render(){
return(
<Text>{this.props.selectnow}</Text>
);
}
}
class Sub2 extends Component{
constructor(props) {
super(props);
}
render(){
return(
<TouchableHighlight onPress={this.props.method.bind(this)}>
<View style={styles.substyle}>
<Text>sub2</Text>
</View>
</TouchableHighlight>
);
}
}