Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Redux/React教程SAN ES6?_Reactjs_Redux - Fatal编程技术网

Reactjs Redux/React教程SAN ES6?

Reactjs Redux/React教程SAN ES6?,reactjs,redux,Reactjs,Redux,有人知道不依赖ES6/2015的React&Redux教程吗 很难尝试学习像Redux这样复杂的想法,更不用说在谷歌上搜索“没有ES6的Redux react教程”。请不要说“学习ES6…”是的,我知道 谢谢大家! Redux不是一个复杂的想法。它可以用很少几行代码表示: function createStore(reducer, state) { var listeners = []; var currentState = state; function subscribe(li

有人知道不依赖ES6/2015的React&Redux教程吗

很难尝试学习像Redux这样复杂的想法,更不用说在谷歌上搜索“没有ES6的Redux react教程”。请不要说“学习ES6…”是的,我知道


谢谢大家!

Redux不是一个复杂的想法。它可以用很少几行代码表示:

function createStore(reducer, state) {
  var listeners = [];
  var currentState = state;

  function subscribe(listener) {
    listeners.push(listener);
    return function unsubscribe() {
      listeners = listeners.splice(listeners.indexOf(listener), 1);
    };
  }

  function getState() {
    return state;
  }

  function dispatch(action) {
    currentState = reducer(currentState, action);
    for (var i = 0; i < listeners.length; ++i) {
      listeners[i]();
    }
  }

  return {
    getState: getState,
    subscribe: subscribe,
    dispatch: dispatch
  };
}
函数createStore(减速机,状态){
var侦听器=[];
var currentState=状态;
函数订阅(侦听器){
listeners.push(listener);
返回函数unsubscribe(){
listeners=listeners.splice(listeners.indexOf(listener),1);
};
}
函数getState(){
返回状态;
}
职能分派(行动){
currentState=减速器(currentState,action);
for(变量i=0;i
这是基本的想法。当然,实际的库有大量的健全性检查和额外的验证,并添加了额外的东西,如中间件和存储增强器等,但核心如上所述


你真正想要的是一个基本的React教程,没有任何额外的东西,为此我强烈推荐一个优秀的教程。

不过还是要说:学习ES6也是值得的。Redux中的关键概念是不变性。使用ES6的优点是,它允许您使用诸如
Object.assign()
和数组扩展语法等功能以不变的方式进行更改。使用ES5,您需要更多的样板文件或帮助程序库,如lodash。