我有4個組件。我只想一次渲染一個。我有我的導航按鈕,當我點擊一個它應該渲染該組件,然後隱藏其他3(即將它們設置爲空)在點擊按鈕時切換組件的響應
這很容易與2個組件。我只是有一個切換功能,像這樣:
toggle() {
this.setState(prevState => ({
showTable: !prevState.showTable
}));
}
我試圖去適應這個現在在那裏我有這樣的:
showComponent(component) {
this.setState(prevState => ({
[component]: !prevState.component
}));
}
這目前顯示當我點擊相應的按鈕組件。但是,一旦再次單擊相同的按鈕,它將不會隱藏組件。
我有我的所有按鈕調用此方法像這樣:
<button onClick={() => this.showComponent('AddPlayer')}>Add</button>
<button onClick={() => this.showComponent('ShowPlayers')}>Players</button>
<button onClick={() => this.showComponent()}>Table</button>
<button onClick={() => this.showComponent()}>Matches</button>
什麼想法?
編輯:
{this.state.AddPlayer ?
<div className="add-container">
<AddPlayer />
</div>
:
null
}
{this.state.ShowPlayers ?
<div className="players-container">
<Players />
</div>
:
null
}
可以展開的問題,以顯示正在顯示/隱藏的組件? – Chris
你可以發佈你的渲染方法嗎?這樣我可以回答好@The海象 –
是的我的壞,它的存在,現在 –