我很好奇如何从服务器管理初始状态。例如,我们有一个按钮,在页面上只有在用户经过授权后才能启用。我看到两个选项,但都有缺点:
1. 在“ComponentWillMount()”中,从服务器中获取信息。缺点:不再是无状态。 2. 在由“Provider”包装的根对象中获取状态。缺点:状态的存储地可能是杂乱无章的;如果用户没有访问特定页面,则可能永远不需要。
是否有最佳实践方法来获得初始状态?我希望保持我的组件无状态,但如果它们都需要一些初始状态,我不知道如何保持它们无状态。
** 编辑 **
正如同事指出的那样,使用“ComponentWillMount()”并不意味着它不再是无状态。我只需分派我的操作,状态将在Redux中而不是组件本身中。所以选项#1听起来是正确的选择。
1. 在“ComponentWillMount()”中,从服务器中获取信息。缺点:不再是无状态。 2. 在由“Provider”包装的根对象中获取状态。缺点:状态的存储地可能是杂乱无章的;如果用户没有访问特定页面,则可能永远不需要。
是否有最佳实践方法来获得初始状态?我希望保持我的组件无状态,但如果它们都需要一些初始状态,我不知道如何保持它们无状态。
** 编辑 **
正如同事指出的那样,使用“ComponentWillMount()”并不意味着它不再是无状态。我只需分派我的操作,状态将在Redux中而不是组件本身中。所以选项#1听起来是正确的选择。
ComponentWillMount
钩子来触发一个初始化应用程序状态的动作,我不会认为这使组件本身具有“有状态性”。特别是如果它驻留在例如<App />
中。 - Jamesthis
绑定。那为什么不试试呢? - Bob Horn