1樓:supyp
我說說我所知道的方法
const [count1, setCount1] = React.useState(0);
const [count2, setCount2] = React.useState(0);
setCount1(num => )
經過測試,結果如上所示,為什麼第三種是錯誤的,我也不清楚,希望有大佬可以幫我解釋一下
const [count1, setCount1] = React.useState(0);
const [count2, setCount2] = React.useState(0);
new Promise((resolve) => );
const [count1, setCount1] = React.useState(0);
const [count2, setCount2] = React.useState(0);
React.useEffect(() => , [count1])
setCount1(num => )
2樓:
我之前寫過乙個useAsyncState, 使用Promise來做的. 用起來大概這樣, 不知道是不是符合題主的要求:
實現在這裡: https://
希望可以作為參考
3樓:陸沉
理解一下題主的需求:
精細地控制某一次setState才呼叫callback其實想要的不是「每一次 setState」 都 callback,而是類似之前 class 的 setState 時一樣,在想要 callback 的地方手動 setStategt; {})
其實可以用 ref
function
SomeComponent
());
const
doSomethingRef
=useRef
(false
);const
doSomethingElseRef
=useRef
(false
);// 在這裡處理
useEffect
(()=>},[
doSomethingRef
]);// 在這裡處理第二個
useEffect
(()=>},[
doSomethingElseRef
]);function
trigger
());
doSomethingRef
.current
=true
;// 這樣改。。
}function
triggerElse
());
doSomethingElseRef
.current
=true
;// 這樣改。。
}return
...;
}寫起來比較奇怪。但是滿足題主的沒有過多的條件控制語句的需求
4樓:伊撒爾
5樓:Frank1e
import from 'react'
export function useStateCallback(init: INIT_STATE, cb: (initState:
INIT_STATE) => void) , [state, cb])
return [state, setState]}mmmm,你試試符合嗎?(
const [value, setValue] = useStateCallback(1, (state) =>
-------分割線
重新修改了,仔細看了一下題主的問題。
export
function
useStateCallback
(init)},
[setState
])return
[state
,handler]}
const
[value
,setValue]=
useStateCallback(1
)const
[value2
,setValue2]=
useStateCallback(1
)const
[vObj
,setVobj]=
useStateCallback
()constcb=
useCallback
((currentState
)=>},)
const
handler=(
e)=>,(
currentState
)=>)}
const
handler2=(
e)=>)}
如何用python實現行列互換?
程式設計小白一枚,使用python 3.6 笨辦法 b fori inrange len a 0 row forj inrange len a row.a j i b.row print b 以上寫成一句 print row i for rowina fori inrange len a 0 用函式...
如何用Haskell實現物件導向程式設計?
圓角騎士魔理沙 剛剛讀完了Haskell s overlooked object system,給出了幾個proposal,最後深入研究用HList encode recursive record。很有意思,比如說,class,label是first class的,所以多重繼承玩得很溜,比如說可以自...
如何用200元實現財富自由?
已登出 能擁有正向現金流,相較於負債累累的人,有200元正資產,已經算是實現了財富自由。這是和誰比的問題。和那些陷入債務危機的人比,能擁有正向現金流已經很優秀了,哪怕只有200元。若只和自己比,能擁有200元正向現金流,而不是因為消費慾望過度和投機投資心思太重陷入債務危機,也已經很優秀了。其次,我們...