2017-10-19 107 views

回答

2

無國籍功能組件不能有狀態,你需要使用常規的陣營組件,如果你想在組件中有狀態。

0

無狀態功能組件旨在面向演示,因爲它們本身不能擁有本地UI狀態。這很棒,因爲如果沒有內部狀態的能力,使用純功能組件可以更好地在應用程序中使用single responsibility principle,從而讓更簡單的組件可以更輕鬆地完成更少的工作。這是設計軟件的一個勝利,它不會讓您稍後維護和添加功能。

無狀態功能組件以Container component的狀態傳遞,負責通過其Container組件通過道具呈現傳遞給它們的狀態。這使得Container組件可以更簡單,更集中地負責獲取和轉換數據以傳遞給無狀態的功能組件。純粹的功能組件抽象出了從容器中渲染JSX的細節。

所以很長的故事,你想要的是一個容器組件所以你必須可以創建相關的UI狀態和做出反應lifecycle methods管理它,你不必在一個純粹的功能組件訪問。