0
React組件有它們的生命週期(componentWillMount,componentDidMount等),也有它自己的生命週期(作爲中間件運行)。同步縮略語和反應生命週期
有沒有辦法同步這兩個生命週期?
我認爲這可能是問題的時候,我們願與授權保護某些組件(對多級訪問)
React組件有它們的生命週期(componentWillMount,componentDidMount等),也有它自己的生命週期(作爲中間件運行)。同步縮略語和反應生命週期
有沒有辦法同步這兩個生命週期?
我認爲這可能是問題的時候,我們願與授權保護某些組件(對多級訪問)
這是可能的。您可以創建一個HOC(高階組件),用於掛鉤React的生命週期事件並分派動作將它們映射到redux-saga。在您的傳奇中,您可以使用take
來同步生命週期和控制流程。
請讓我知道,如果你需要一個工作的例子。我將在Github上添加一個示例到my repository。
// HOC
import Lifecycle from '...';
// Target component
class SecretPane extends Component {
// ...
}
// Export wrapped SecretPane component
export default Lifecycle(SecretPane);
// ...
function* lifecycle() {
yield take(COMPONENT_WILL_MOUNT);
// Do something before mounted
yield take(COMPONENT_DID_MOUNT);
// Do something after mounted
yield take(COMPONENT_WILL_UNMOUNT);
// Do something before unmounted
}
作爲一般規則,組件不應該是「安全的」:無論如何它們都在客戶端上。唯一真正安全的就是你的API(你的後端),所以即使用戶以某種方式顯示了一個「祕密」組件而沒有被授權(通過黑客攻擊或僅僅因爲一個bug),你的API不應該返回任何數據,所以它不會顯示任何有意義的信息。是否有意義? –