react-redux 中的 dispatch 函数和 reducer 函数之后会发生什么?
what happens after dispatch function and reducer function in react-redux?
假设如果我使用 dispatch()
发送一个动作,我知道 reducer()
被调用了 an action object and current state as parameters
。我想知道什么叫 reducer 函数?在 reducer 函数之前和 dispatch 函数之后调用了哪些函数?在 reducer 函数 returns 新状态之后,之后调用了哪些函数?这个新状态去哪里了? usestate()
和 useselector()
也 returns 在 reducer 函数 returns 新状态之后有什么东西吗?
i want to know what calls that reducer function ?
which functions are called before reducer function and after dispatch function
dispatch() 实际上 'call' 每个减速器。它使用了一个事件系统,所有的 reducer 都在监听这个事件(这一切都在幕后)。
不过,您可以编写一段代码,将其插入到调度调用和 reducer 捕获操作之间。
它被称为中间件。
中间件可以拦截调度触发的任何动作,它也可以访问存储。
在中间件的末尾,您只需使用回调来告诉流程继续。
您需要将您的操作传递给它,以便您的减速器最终可以被调用并接收操作。
这是一个中间件示例,它记录了任何 dispatch() 发送的任何操作
const logger = store => next => action => {
console.log('dispatching', action)
let result = next(action)
console.log('next state', store.getState())
return result
}
为了让它工作,你需要将你的中间件传递给你的 redux 配置,这样它们就可以被调用。
after reducer function returns the new state ,which functions are
called after that, where does this new state goes ?
如果你查看你的 redux 配置,你会在某个地方看到你组合了所有的 reducer(通常称为 root reducer)。
const combinedReducers = combineReducers({ reducerA, reducerB })
const store = createStore(combinedReducers )
Redux 使用这种 reducer 组合来填充 store,所以任何时候 reducer return 的结果都可以保存在 'the store'
does usestate() and useselector() also returns something after reducer function returns new state ?
useSelector()
是一个hooks,在store中有读取的能力。 (包含你的 reducer 的最新结果的商店,每次商店有修改时都会更新)
useState()
与 redux 无关。它与 React 有关。使用 useState 你可以在组件的本地状态下读写。
它 return 是你的状态,setter 是这个状态。
const {myPieceOfState, setMyPieceOfState} = useState({ something :'a default value for myPieceOfState'})
假设如果我使用 dispatch()
发送一个动作,我知道 reducer()
被调用了 an action object and current state as parameters
。我想知道什么叫 reducer 函数?在 reducer 函数之前和 dispatch 函数之后调用了哪些函数?在 reducer 函数 returns 新状态之后,之后调用了哪些函数?这个新状态去哪里了? usestate()
和 useselector()
也 returns 在 reducer 函数 returns 新状态之后有什么东西吗?
i want to know what calls that reducer function ? which functions are called before reducer function and after dispatch function
dispatch() 实际上 'call' 每个减速器。它使用了一个事件系统,所有的 reducer 都在监听这个事件(这一切都在幕后)。
不过,您可以编写一段代码,将其插入到调度调用和 reducer 捕获操作之间。
它被称为中间件。
中间件可以拦截调度触发的任何动作,它也可以访问存储。
在中间件的末尾,您只需使用回调来告诉流程继续。 您需要将您的操作传递给它,以便您的减速器最终可以被调用并接收操作。
这是一个中间件示例,它记录了任何 dispatch() 发送的任何操作
const logger = store => next => action => {
console.log('dispatching', action)
let result = next(action)
console.log('next state', store.getState())
return result
}
为了让它工作,你需要将你的中间件传递给你的 redux 配置,这样它们就可以被调用。
after reducer function returns the new state ,which functions are called after that, where does this new state goes ?
如果你查看你的 redux 配置,你会在某个地方看到你组合了所有的 reducer(通常称为 root reducer)。
const combinedReducers = combineReducers({ reducerA, reducerB })
const store = createStore(combinedReducers )
Redux 使用这种 reducer 组合来填充 store,所以任何时候 reducer return 的结果都可以保存在 'the store'
does usestate() and useselector() also returns something after reducer function returns new state ?
useSelector()
是一个hooks,在store中有读取的能力。 (包含你的 reducer 的最新结果的商店,每次商店有修改时都会更新)
useState()
与 redux 无关。它与 React 有关。使用 useState 你可以在组件的本地状态下读写。
它 return 是你的状态,setter 是这个状态。
const {myPieceOfState, setMyPieceOfState} = useState({ something :'a default value for myPieceOfState'})