例如,像這樣的部件:React.js - 如何在子組件中實現一個功能,從同一個父組件中卸載另一個子組件,並在其上安裝另一個組件?
import React, { Component } from 'react';
import BodyContent from './BodyContent';
import BottomOne from './BottomOne';
import BottomTwo from './BottomTwo';
class App extends Component {
render() {
return (
<div className="App">
<BodyContent />
<BottomOne />
</div>
);
}
}
export default App;
我想要實現對BodyContent
該卸載BottomOne
並安裝BottomTwo
代替的函數,因此,當我激活功能,代碼reestructured這樣:
import React, { Component } from 'react';
import BodyContent from './BodyContent';
import BottomOne from './BottomOne';
import BottomTwo from './BottomTwo';
class App extends Component {
render() {
return (
<div className="App">
<BodyContent />
<BottomTwo />
</div>
);
}
}
export default App;
我對React非常陌生,所以如果有更好的方法可以做到這一點,我很樂意提供建議,但我真的需要最終的結果,BodyContent上的一個函數,該函數卸載BottomOne
並掛載BottomTwo
。
如果組件有狀態也一樣,你怎麼建議我保持這些?我正在考慮將它們存儲在應用程序組件上,並將它們作爲道具傳遞。這是做到這一點的正確方法嗎? – Mikael
即使在卸載後,您還想要存儲子狀態值嗎?如果是,那麼你可以將它們存儲在父組件中並傳遞道具,或者如果你使用的是redux/flux,那麼將這些值保存在商店中。 –
是的,即使在卸載之後我仍然希望保存它們。我明白了,謝謝。 – Mikael