其他分享
首页 > 其他分享> > Redux常见的三个小坑

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