我用Redux。每次我必须使用部分代码:
const dispatch = useDispatch()
然后像这样调用函数:
dispatch(endpointError(true))
我想要实现的是有一些地方,然后导出再调用适当的函数。把它放在一个地方,比如:
const errorFunctions = () => {
const dispatch = useDispatch()
setEndpointError = () => dispatch(endpointError(true))
}
export const { setEndpointError } = errorFunctions
然后在我需要的时候只使用setEndpointError()
。我觉得它看起来很性感。例如,当你需要保持你所有的代码更短,这是一个加分,就像在错误处理,我认为是这样的。
但在那里这是不合法的,我们不能不幸地做到。开发者们,你们认为我们可以写出来并让它运行吗?
我的想法就像你有20个不同的屏幕,到处都是类似的错误处理,最好不要写每个地方const dispatch = useDispatch()
寻找改进:)
您可以为此创建一个自定义钩子:
export const useErrors = () => {
const dispatch = useDispatch()
return {
setEndpointError: () => dispatch(endpointError(true)),
setOtherError: () => dispatch(otherError())
}
}
你可以这样使用:
const { setEndpointError, setOtherError } = useErrors()
setEndpointError()