如何执行类似于下面的操作,而不需要从组件手动将数据传递到函数中?
function doSomething()
return (dispatch, getState) => {
console.log(getState().router.match.params)
}
}
这很重要,因为重要的变量存储在 React 中的 URL 中(例如分页页面、文档 ID、搜索输入)。当它们存储在 Redux 中时,访问它们非常容易,并且不需要从组件传递它们。但对于 match.params 来说,这似乎必须手动通过可能的几个包装组件传递到一个操作中。
一种解决方案是在调用操作时传递所需的参数。
function doSomething(params)
return (dispatch, getState) => {
console.log(params)
}
}
// from component
const params = useParams();
dispatch(doSomething(params))