redux+createElement和cloneElement区别

175 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天
一、redux
1.向事件池中追加方法时,没有做去重处理
2.把绑定的方从在事件池中移除掉时,用的是 arr.splice(index,1),这样可能会引起数组塌陷
3.reducer 中 state,每次返回都需要深克隆,可以在 redux 中获取状态信息时,深克隆,这样就不用在 reducer 里深克隆了

二、redux的state
数据按照领域(Domain)分类,存储在不同的表中,不同的表中存储的列数据不能重复;表中每一列的数据都依赖于这张表的主键,表中除了主键以外的其他列,互相之间不能有直接依赖关系;把整个应用的状态按照领域(Domain)分成若干子 State,子 State 之间不能保存重复的数据;State 以键值对的结构存储数据,以记录的 key/ID 作为记录的索引,记录中的其他字段都依赖于索引;State 中不能保存可以通过已有数据计算而来的数据,即 State 中的字段不互相依赖、

三、Redux组件
Action – 这是一个用来描述发生了什么事情的对象;
Reducer – 这是一个确定状态将如何变化的地方;
Store – 整个程序的状态/对象树保存在 Store 中;
View – 只显示 Store 提供的数据。

四、createElement和cloneElement区别
传入的第一个参数不同
React.createElement():JSX 语法就是用 React.createElement()来构建 React 元素的。它接受三 个参数,第一个参数可以是一个标签名。如 div、span,或者 React 组件。
第二个参数为传入的属性。第三个以及之后的参数,皆作为组件的子组件。React.createElement(type, [props],[...children]);React.cloneElement 它传入的第一个参数是一个 React 元素,而不是标签名或组件。新添加的属性会并入原有的属性,传入到返回的新元素中,而旧的子元素将被替换。将保留原始元素的键和引用。React.cloneElement(element, [props], [...children]);