侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

ES6+的新语法

2024-05-08 星期三 / 0 评论 / 0 点赞 / 59 阅读 / 3159 字

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

  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>

广告 广告

评论区