簡體   English   中英

高階函數執行

[英]higher order function execution

我對重組中的高階函數感到困惑。 我正在使用codePen中的示例,並且不確定為什么更改功能不起作用。

我嘗試在控制台中播放,但沒有任何效果。

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}), 
  }
); 

我得到“我是NaN%快樂按鈕!

我正在使用它進行練習: https : //codepen.io/Kiwka/pen/vWZVvL?editors=0111

我認為您無法將標准“要傳遞的參數”更改為withStateHandlers。 它期望您傳遞初始狀態或函數以獲取初始狀態。 這樣,第二個參數便是更新狀態的函數。

請閱讀文檔: https : //github.com/acdlite/recompose/blob/master/docs/API.md#withstatehandlers

另外,如果您真的想了解高階功能/組件是如何工作的,我認為您應該嘗試創建自己的HOF / HOC。 我敢肯定,互聯網上有大量的文章。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM