Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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 redux中的操作是否需要调度?_Javascript_Reactjs_Redux_React Redux_Redux Thunk - Fatal编程技术网

Javascript redux中的操作是否需要调度?

Javascript redux中的操作是否需要调度?,javascript,reactjs,redux,react-redux,redux-thunk,Javascript,Reactjs,Redux,React Redux,Redux Thunk,我学习redux已经有一段时间了,我想知道为什么动作中需要调度,我们不能只使用return,这不是一回事吗 return { type: SEARCH_MOVIE, payload: text, }; }; export const fetchMovies = (text) => (dispatch) => { axios .get(`https://www.omdbapi.com/?apikey=${APIKey}&s=${text}`

我学习redux已经有一段时间了,我想知道为什么动作中需要调度,我们不能只使用return,这不是一回事吗

  return {
    type: SEARCH_MOVIE,
    payload: text,
  };
};

export const fetchMovies = (text) => (dispatch) => {
  axios
    .get(`https://www.omdbapi.com/?apikey=${APIKey}&s=${text}`)
    .then((response) =>
      dispatch({
        type: FETCH_MOVIES,
        payload: response.data.Search,
      })
    );
};
第一个动作没有分派,它工作正常,为什么我们需要在其他功能中使用分派?我们不能只使用return吗?我只需要有人向我解释一下dispatch在一个动作中做了什么,我稍后会在我的组件中以某种方式或单击该动作。为什么我们需要两次分派它?

这是使用库时的一个问题

使用简单的基本Redux存储,您只能通过调度操作来执行简单的同步更新

Thunks是基本Redux副作用逻辑的推荐中间件,包括。。。简单的异步逻辑,比如AJAX请求

在redux词汇表中,action只是一个对象,例如{type:'a1'}, action creator是一个返回操作的函数,例如。 值=>{type:'a1',valye} thunk of action是一个将dispatch函数作为参数并调用它的函数,例如。 分派=>{dispatch{type:'a1'}}。通过redux thunk中间件,它可以在任何需要操作的地方使用。 thunk of action creator是一个函数a,它返回一个函数b,因此b是一个被包装在a闭包中的动作thunk,例如。 value=>dispatch=>{dispatch{type:'a1',value} 使用redux thunk时,简单动作创建者和动作创建者的thunk可以互换使用,您不必使用dispatch=>。。。当不需要时,它用于异步操作或更复杂的逻辑,具有从一个函数调度的多个操作。

这是使用库时的一种选择

使用简单的基本Redux存储,您只能通过调度操作来执行简单的同步更新

Thunks是基本Redux副作用逻辑的推荐中间件,包括。。。简单的异步逻辑,比如AJAX请求

在redux词汇表中,action只是一个对象,例如{type:'a1'}, action creator是一个返回操作的函数,例如。 值=>{type:'a1',valye} thunk of action是一个将dispatch函数作为参数并调用它的函数,例如。 分派=>{dispatch{type:'a1'}}。通过redux thunk中间件,它可以在任何需要操作的地方使用。 thunk of action creator是一个函数a,它返回一个函数b,因此b是一个被包装在a闭包中的动作thunk,例如。 value=>dispatch=>{dispatch{type:'a1',value}
使用redux thunk时,简单动作创建者和动作创建者的thunk可以互换使用,您不必使用dispatch=>。。。当不需要时,异步操作或更复杂的逻辑需要从一个函数中调度多个操作。

因此,当我在一个操作中使用调度时,该操作稍后将被调度,thunk就是在这里产生并使其正常工作的吗?Idk如果我没有弄错的话,但是当我在一个动作中使用dispatch时,我只是从api中获取数据,所以api中的数据存储在该动作中,我可以稍后进行调度,并在该日期执行任何操作,我可能真的很笨,但我需要有人向我解释,这样我才能理解。我添加了动作创造者thunk的定义,希望这能澄清什么是什么。行动中没有调度,在一个简单的动作上只有更多的抽象层,这样你就可以从一个函数异步地分派多个动作……在某些特定的情况下,在动作创建者内部使用分派是必须的,还是在任何地方都使用return就可以了。我真的不理解这一点,也不理解分派的原因甚至出现在action creators中。我只知道dispatch用于将动作发送到reducer,这就是为什么我想知道为什么dispatch甚至出现在action Creator中,我们从那里发送什么?这和退货不一样吗?我们为什么要使用调度?等等,我真的对这些东西感到困惑。啊,对不起,我意识到我的解释遗漏了一个步骤-现在更新为“动作的砰砰声”和“动作创造者的砰砰声”。。。我想这比解释要容易得多,随着时间的推移,我可能会理解,但无论如何,非常感谢你的努力,cyaSo,当我在一个动作中使用dispatch时,该动作将在稍后被调度,不管怎样,thunk是在哪里产生的,并使它正常工作的?Idk如果我没有弄错的话,但是当我在一个动作中使用dispatch时,我只是从api中获取数据,所以api中的数据存储在该动作中,我可以稍后进行调度,并在该日期执行任何操作,我可能真的很笨,但我需要有人向我解释,这样我才能理解。我添加了动作创造者thunk的定义,希望这能澄清什么是什么。在一个动作中没有调度,在一个简单的动作之上只有更多的抽象层
动作,以便您可以从单个函数异步调度多个动作…是否有任何特定情况下,必须在动作创建者内部使用调度,或者如果我在任何地方都使用return,是否可以。我真的不理解这些内容,以及为什么调度会出现在动作创建者中。我只是理解这一点dispatch用于将动作发送到reducer,这就是为什么我想知道为什么dispatch甚至出现在动作创建者中,我们从那里发送什么?这和退货不一样吗?我们为什么要使用调度?等等,我真的对这些东西感到困惑。啊,对不起,我意识到我的解释遗漏了一个步骤-现在更新为“动作的砰砰声”和“动作创造者的砰砰声”。。。我想这比解释要容易得多。随着时间的推移,我可能会理解,但无论如何,非常感谢你的努力