私の状態で私はshowTab1
,showTab2
,showTab3
を持っています。タブiを選択すると、他のタブはfalseに設定されます。だから私のrender
機能で、私はこのような何かを返すことができるようにしたい:React - レンダリング機能でいくつかのコンポーネントの1つを返す方法は?
return (
<div>
{
(() => {
if (someCondition) {
if (this.state.showTab1) {
return (
<div>
<Tab1/>
</div>
)
} else if (this.state.showTab2) {
return (
<div>
<Tab2/>
</div>
)
} else if (this.state.showTab3) {
return (
<div>
<Tab3/>
</div>
)
}
}
return <span />;
})()
}
<AnotherComponent>
</div>
);
しかし、私は複数のリターンを持つことが許されていない、あるいは少なくともそれは悪い習慣と考えられていますことを知っています。どうすればこの問題を回避できますか?
"これは悪い習慣とみなされています" - それは聞いたことがありません。 render関数で少なくとも2つのリターンを持つのはかなり一般的です: 'if(!data)return null; return(