Javascript 高阶函数执行
我对重组中的高阶函数感到困惑。我正在玩codePen中的一个示例,不知道为什么更改函数不起作用 我试过在控制台上玩,但没有任何效果Javascript 高阶函数执行,javascript,reactjs,recompose,Javascript,Reactjs,Recompose,我对重组中的高阶函数感到困惑。我正在玩codePen中的一个示例,不知道为什么更改函数不起作用 我试过在控制台上玩,但没有任何效果 const IncreaseHappiness2 = withStateHandlers( () => ({happiness: 0}), { onClick: ({happiness}) => () => ({happiness: happiness + 1}), } ); 当我换到 const IncreaseHappin
const IncreaseHappiness2 = withStateHandlers(
() => ({happiness: 0}), {
onClick: ({happiness}) => () => ({happiness: happiness + 1}),
}
);
当我换到
const IncreaseHappiness2 = withStateHandlers(
() => ({happiness: 0}), {
onClick: ({happiness}) => ({happiness: happiness + 1}),
}
);
当我点击按钮时,什么也没有发生
当我改为:
const IncreaseHappiness2 = withStateHandlers(
() => ({happiness: 0}), {
onClick: ({happiness}) => () => ({happiness: happiness + 1}),
}
);
我得到“我是南%快乐按钮
我将此用于实践:我认为您不能将标准的“要传递的参数”更改为WithStateHandler。它要求您传递初始状态或函数以获取初始状态。这样,第二个参数就是更新状态的函数 请阅读文档: 另外,如果你真的想了解高阶函数/组件是如何工作的,我认为你应该尝试创建自己的HOF/HOC。我相信互联网上有很多文章
希望这有帮助。我认为您不能将标准的“要传递的参数”更改为WithStateHandler。它希望您传递初始状态或函数以获得初始状态。这样,第二个参数就是更新状态的函数 请阅读文档: 另外,如果你真的想了解高阶函数/组件是如何工作的,我认为你应该尝试创建自己的HOF/HOC。我相信互联网上有很多文章
希望这有帮助。这是一个React函数,请添加相应的标记。第一个函数正常工作?您为什么要更改它?@Paulpro是的,第一个函数正常工作。我更改它是为了更好地了解它的工作原理。当我查看类似的函数时,参数在第一个、第二个或两个函数中。我只是不确定如何确定如何设置如果我是从Scratch创建某个响应函数,请添加相应的标记。第一个正确工作?你为什么要尝试更改它?@Paulpro是的,第一个有效。我更改它是为了更好地了解它的工作方式。当我查看类似于该函数的函数时,该参数在两个函数中都有第一个、第二个或两个函数。我只是不知道如果我从头开始创建一些东西,如何确定如何设置它