如何使用重构、生命周期 HOC 设置 defaultParams?
How to set defaultParams with a recompose, lifecycle HOC?
我有以下重构,生命周期 HOC:
import { lifecycle } from 'recompose';
export function myHoc(title) {
return lifecycle({
componentDidMount() {
console.log(title)
}
});
}
export default myHoc;
我在我的组件中像这样使用这个 HOC:
export default myHoc('x')(PageName);
我想做的是能够像这样使用带参数的 HOC:
export default myHoc({
param1: "somevalue",
param2: "somevalue",
param3: "somevalue",
})(PageName);
然后在 HOC 中,需要为参数 1 和参数 2&3 设置默认值,否则会发生错误。
重组生命周期是否可行?谢谢
您可以在 HOC 函数中使用参数解构。如果您希望代码在未提供必需参数时出错,您可以抛出错误。
export function myHoc({param1 = 'default', param2, param3}) {
if (!param2) {
throw new Error('param2 is required');
}
if (!param3) {
throw new Error('param3 is required');
}
return lifecycle({
componentDidMount() {
console.log(param2);
}
});
}
我有以下重构,生命周期 HOC:
import { lifecycle } from 'recompose';
export function myHoc(title) {
return lifecycle({
componentDidMount() {
console.log(title)
}
});
}
export default myHoc;
我在我的组件中像这样使用这个 HOC:
export default myHoc('x')(PageName);
我想做的是能够像这样使用带参数的 HOC:
export default myHoc({
param1: "somevalue",
param2: "somevalue",
param3: "somevalue",
})(PageName);
然后在 HOC 中,需要为参数 1 和参数 2&3 设置默认值,否则会发生错误。
重组生命周期是否可行?谢谢
您可以在 HOC 函数中使用参数解构。如果您希望代码在未提供必需参数时出错,您可以抛出错误。
export function myHoc({param1 = 'default', param2, param3}) {
if (!param2) {
throw new Error('param2 is required');
}
if (!param3) {
throw new Error('param3 is required');
}
return lifecycle({
componentDidMount() {
console.log(param2);
}
});
}