【发布时间】:2020-10-14 16:46:15
【问题描述】:
我想知道是否可以将调度操作包装到函数中(例如类方法)。我有这个组件:
function Product({id}) {
const {state, dispatch} = React.useContext(CartContext);
return (
<button onClick={() => dispatch({type: "remove", payload: id})}>Remove</button>
)
}
我想要实现的是将难看的调度调用替换为更清晰的函数,如下所示:
<button onClick={() => Cart.remove(id))}>Remove</button>
有可能吗?我已经尝试过这种方式,但是无法在 React 组件之外调用钩子。
export default Cart {
static remove = id => React.useContext(CartContext).dispatch({type: "remove", payload: id});
}
【问题讨论】:
-
为什么不写一个简单的函数在产品内部调用 dispatch
标签: javascript reactjs react-hooks