ES6+的新语法

  1. opts:Object 表示opts的类型是Object类型。 这有点类似.Net中的为泛型指定类型。java中为泛型指定类型是用 extends关键词。 //TODO .Net 和 java中相同写法的CASE

  2. opts:?Object 表示该类型是非必须的。在java 中有类似的学法。 //TODO java中的相同语法CASE

  3. (getState,action)=> action.type==='undefinded' 感觉像匿名方法,又有点像lambda表达式。 4.var createF8Store = applyMiddleware(thunk, promise, array, analytics, logger)(createStore); 创建中间件。听说.net中也有中间件的概念。 //TODO 学习js 和.net 中间件了解其共同思想和差异。

  4. configureStore(onComplete: ?() => void) 定义了一个没有 返回的function.onComplete参数也是非必需的。 onComplete: ?() => void 相当于:

function onCompete()
{
    //todo something .but not return;
}
  1. autoRehydrate()(createF8Store)(reducers) //TODO 不知道什么意思

  2. const data='something' 定义常量

  3. const {data1,data2,data3}=this.props 定义一堆常量

  4. 多个 => 连续使用

function createThunkMiddleware(extraArgument) {
  return ({ dispatch, getState }) => next => action => {
    if (typeof action === 'function') {
      return action(dispatch, getState, extraArgument);
    }

    return next(action);
  };
}
var thunk = createThunkMiddleware();
thunk.withExtraArgument = createThunkMiddleware;

相当于(通过babel 转换成了es5说法):

function createThunkMiddleware(extraArgument) {
  return function (_ref) {
    var dispatch = _ref.dispatch;
    var getState = _ref.getState;
    return function (next) {
      return function (action) {
        if (typeof action === 'function') {
          return action(dispatch, getState, extraArgument);
        }

        return next(action);
      };
    };
  };
}
var thunk = createThunkMiddleware();    
thunk.withExtraArgument = createThunkMiddleware;

//TODO 不知道什么意思

  1. function todoAppReducer(state = initialState, action) {...} state = initialState是给 state 设置默认值 。

  2. 复制一个新对象。 assign 参数:

  • 第一个参数:定义一个新对象。
  • 第二个参数:需要复制给第一个对象的对象。
  • 第三个参数:需要复制给第一个对象的对象。
  • 之后的参数都是复制给第一个空对象。
 Object.assign({}, state, {
      visibilityFilter: action.filter
    });
  1. 两个@@的使用
export var ActionTypes = {
  INIT: '@@redux/INIT'
};

\不知道什么意思 13. 展开数组的操作"..."

let middleware=[thunk,logger];
let createAppStore=applyMidddleware(...middleware)(createStore);

  1. 定义新数组 定义数组action:
var arrList= 'a' | 'b' | 'c'

var action: Action | ThunkAction | PromiseAction | Array<Action>

转载于:https://my.oschina.net/u/2550428/blog/716817

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值