我们最近已从Angular切换到React + Flux,以构建一个相当复杂的业务应用程序。
由于应用程序使用了类似大型页面的模式,因此采用一种容器组件将所有状态作为属性传递到组件树的方法对于我们来说并不是一种实用的开发方法。确实有足够的状态传递给模态,使他们可以将数据加载到存储中。
我的问题是我需要将一些初始状态(作为道具传递)进入模态组件的存储中。在这篇文章中,Facebook上的好人说,当同步不是目标时,可以将道具用于初始状态。
这是我目前如何将初始状态进入商店的方式:
var ABC = React.createClass({
...
getInitialState: function() {
return ABCStore.getInitialABCState(this.props.initialA);
},
...
var ABCStore = Reflux.createStore({
...
init: function() {
_state = {
a: null,
b: 'B init',
c: 'C init'
};
},
getInitialABCState: function(initialA) {
_state.a = initialA;
return _state;
},
getABCState: function() {
return _state;
}
...
我不确定执行此操作的最佳做法是什么,或者不确定这是否是Flux反模式?
您getInitialState()
用来更改商店状态对我来说是错误的。您至少应该在中执行此操作componentWillMount
。
我将触发一个动作,componentWillMount
并让商店处理程序更新商店的内部状态(在flux中应该总是这样)。然后,您组件的存储区变更处理程序可以使用您当前称为“初始状态”的任何数据
本文向大家介绍react-native 初始化状态,包括了react-native 初始化状态的使用技巧和注意事项,需要的朋友参考一下 示例 您应该像这样在组件的构造函数内部初始化状态: 使用setState可以更新视图。
我正在使用React-useState创建状态为的对象。在成功调用API后,将更新为数据对象。 我有一个表单可以更改此状态,但我还有一个取消按钮。单击“取消”时,如何将此状态恢复为其初始值(API调用后)? 我应该创建另一个状态变量和存储初始状态在那里,然后更新我的状态基于?
问题内容: 我目前正在使用注册表单,以下是我的代码段: 每个状态都用于表格的受控输入。 本质上,我想做的是在用户成功注册后,希望状态恢复为初始状态,并清除字段。 手动将每个状态设置为空字符串是非常必要的,因为我想知道React是否附带有一种方法或函数可以将状态重置为初始值? 问题答案: 遗憾的是,没有内置的方法可以将状态设置为其初始值。 您的代码看起来不错,但是如果您想减少所需的功能,则可以将整个
我目前正在处理一个注册表单,以下是我的代码片段: 每个状态都用于表单的受控输入。 基本上,我想做的是在用户成功注册后,我希望状态返回到初始状态,并清除字段。 在中手动将每个状态设置回空字符串是非常必要的。我想知道React是否有一个方法或函数可以将状态重置回初始值?
问题内容: Redux应用程序中的初始状态可以通过两种方式设置: 将其作为第二个参数传递给(docs link) 将其作为第一个参数传递给您的(子)还原器(docs链接) 如果将初始状态传递给商店,您如何从商店读取该状态并将其作为化简器中的第一个参数? 问题答案: TL; DR 没有或没有类似的手动代码,总是在化简器中胜出,因为传递给化简器的 是 和 不是 ,因此在这种情况下不会应用ES6参数语法
2)有没有另一种方法可以重写这个逻辑而不使用道具来设置状态? 父组件: 子组件
我有一个受控输入,它接受名为的道具。该对象由其父组件传递给它,并在其中用观察者1异步初始化。 在父组件中: 我想用填充受控输入的初始状态。类似下面的内容,这不应该是反模式,因为状态只依赖于构造上的prop。 当我刷新受控输入时,出现以下问题: 的值为,因为观察者尚未触发。组件被构造并将分配给. 观察者激发,为用户分配一个复杂的对象,React重新呈现组件。这不会更改组件的状态,仍然是。 我被困在如
概述 Sublime Text 可以通过删除 data 文件夹的方式恢复到初始状态。不同操作系统这个文件夹的位置也不同: OS X:~/Library/Application Support/Sublime Text 3 Windows:%APPDATA%\Sublime Text 3 Linux:~/.config/sublime-text-3 恢复到初始状态,你需要: 退出 Sublime T