Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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
Javascript _Javascript_Typescript_Redux - Fatal编程技术网

Javascript

Javascript ,javascript,typescript,redux,Javascript,Typescript,Redux,至于动作和“类型”参数,其他答案都是正确的。这就是Redux的设计方法,旨在为调试目的提供序列化的好处。他讲述了如何比较动作创建者和还原者。动作创造者!=行动。动作是数组的一项(动作堆栈)。该数组将用于减少状态。非常有用,谢谢。我看到了解耦操作和状态更改的基本原理。我不禁想知道,你提到的约简的组合性是否不能通过函数组合来实现,尽管这个问题似乎与动作是否应该以数据的形式显式表示是正交的。“不仅仅是函数调用,而是调度对象。”但函数也是对象。。。正如我所理解的那个样,这个问题是关于具有特定格式的文字对

至于动作和“类型”参数,其他答案都是正确的。这就是Redux的设计方法,旨在为调试目的提供序列化的好处。

他讲述了如何比较动作创建者和还原者。动作创造者!=行动。动作是数组的一项(动作堆栈)。该数组将用于减少状态。非常有用,谢谢。我看到了解耦操作和状态更改的基本原理。我不禁想知道,你提到的约简的组合性是否不能通过函数组合来实现,尽管这个问题似乎与动作是否应该以数据的形式显式表示是正交的。“不仅仅是函数调用,而是调度对象。”但函数也是对象。。。正如我所理解的那个样,这个问题是关于具有特定格式的文字对象的好处,而不是函数。在阅读其他答案后,在我的答案中添加了一些注释。不知道它对TypeScript是否有帮助(可能是您需要提供一些代码示例来显示确切的问题)。
function addTodo(filter) {
  return { 
    type: SET_VISIBILITY_FILTER, 
    filter
  }
}
function todoApp(state = initialState, action) {
  switch (action.type) {
   case SET_VISIBILITY_FILTER:
     return Object.assign({}, state, {
       visibilityFilter: action.filter
     });
  } 
}
store.dispatch(addTodo("Ask question on stackoverflow"));
// Action/reducer. (Parametrised state transformer, really.)
const addTodo = text => state => {
  return Object.assign({}, state, {
       visibilityFilter: action.filter
  });
}

// Dispatch takes as a argument the action/reducer
store.dispatch(addTodo("Ask question on stackoverflow"));
import reducer from './reducer';

const actions = [
    {type: 'INIT'},
    {type: 'SOME_ACTION', params: {...}},
    {type: 'RECEIVE_DATA', data: [...]},
    {type: 'SOME_ANOTHER_ACTION', params: {...}},
    {type: 'RECEIVE_DATA', data: [...]},
    ...
];

const finalState = actions.reduce(reducer, undefined);
function reducer(state, action) {
    return action(state);
}
function someActionCreator() {
    return {
        type: "ADD_TODO",
        text: "Ask question on stackoverflow"
    }; // returns object
}
function someActionCreator() {
    return addTodo("Ask question on stackoverflow"); // returns function
}