this.state={
value: 'v1',
newValue: '',
}
componentDidMount =() => {
let nV = this.state.value + 'received';
this.setState({
newValue: nV,
});
}
tabClick = (val) => {
this.setState({
value: val,
});
}
render() {
return (
<Tabs onTabClick={this.tabClick}>
<Tab val='v2'>
{this.state.newValue}
</Tab>
<Tab val='v3'>
{this.state.newValue}
</Tab>
</Tabs>
)
}
これは私が直面している問題のシナリオ例です。プログラムが最初に読み込まれると、アクティブなタブv1 received
に表示されます。私が別のタブをクリックすると、私はvalue
の状態値を変更し、componentDidMount
を予期して起動し、各タブの値を変更するnewValue
を変更します。しかし、タブをクリックしても何も起こりません。ヘルプは非常に高く評価されるだろう:)reactjsで新しい値を再レンダーする方法は?
あなたは、このクラスの完全なコードを共有してもらえますか?私はいくつかの問題に気付きましたが、まず 'this.tabClick'が本当に実行されたかどうかを知りたいと思います。 – Win
はい、私はロギングによってチェックしました:) –
これは 'this.state'の前に' tabClick'の中に入れてください: 'alert(val)'。結果を教えてください。 – Win