render()関数内で状態変数を変更せずに、render()関数を再呼び出しすることはできますか?ReactJS理論レンダリング状態の再帰
これを試してみると、render()を再帰的に呼び出すように見えます。これはベストプラクティスですか?
例:
constructor(props) {
super(props)
this.state = {
maxWidth: `${window.innerWidth - 100}px`
}
}
.
.
.
render() {
const defaultTabCheck =() => {
if (this.props.tabsProperties.length > 0) {
this.setState({
maxWidth: `${window.innerWidth - 72}px`
})
}
}
return (
<span style={{ width: this.state.maxWidth }}>
.
回答ありがとうございます! reduxからデータを取得するアクションをディスパッチし、状態変数を設定する必要があるとします。 レンダリングを呼び出さずに、これらの状態変数をどのように設定しますか?出来ますか? – wordisbarn
reduxを使用すると、グローバルな状態になります(コンポーネント状態を持つことはできますが、通常はreduxグローバル状態を使用します)。ストア状態を更新してデータを取得しない場合は、アクションをディスパッチします。コンポーネントがreduxストアからデータを取得するようにするには、 'mapStateToProps'機能を使用する必要があります。reduxは、特定のストア状態をコンポーネントの小道具にマッピングします。 – finalfreq