Redux常见的三个小坑
作者:互联网
1.store必须是唯一的,多个store是坚决不允许的,只能有一个store空间
现在看 TodoList.js
的代码,就可以看到,这里有一个 /store/index.js
文件,只在这个文件中用 createStore()
方法,声明了一个 store
,之后整个应用都在使用这个 store
。 下面给出了index.js
内容,可以帮助你更好的回顾。
mport { createStore } from 'redux' // 引入createStore方法 import reducer from './reducer' const store = createStore( reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()) // 使用redux浏览器工具 export default store //暴露出去
2.只有store能改变自己的内容Reducer不能改变
Reducer中我们只是作了一个返回,返回到了store中,并没有作任何改变。Reudcer只是返回了更改的数据,但是并没有更改store中的数据,store拿到了Reducer的数据,自己对自己进行了更新。
3.Reducer必须是纯函数
纯函数定义:
如果函数的调用参数相同,则永远返回相同的结果。
它不依赖于程序执行期间函数外部任何状态或数据的变化,必须只依赖于其输入参数。
我们可以简单的理解为返回的结果是由传入的值决定的,而不是其它的东西决定的。
new Date 、ajax获取数据等都不是纯函数因为获取的值是不一定的
标签:常见,函数,Reducer,js,reducer,小坑,Redux,createStore,store 来源: https://www.cnblogs.com/Jarsmine/p/16395381.html