1.無限循環(huán)
因?yàn)閟etState修改是異步的,加上會(huì)觸發(fā)函數(shù)重新渲染, 如果代碼長(zhǎng)這樣
?一秒再修改,然后重新觸發(fā)setTImeout, 然后再觸發(fā),重復(fù)觸發(fā)循環(huán)
如果這樣呢
還是會(huì),因?yàn)槟銏?zhí)行又會(huì)重新渲染?
2.異步修改數(shù)據(jù)
為什么修改多次還是跟不上呢?
函數(shù)傳參解決
因?yàn)槭钱惒叫薷?,所以會(huì)出現(xiàn)問題,怎么辦?用傳函數(shù)的形式解決
Component – React 中文文檔
改成這種形式
?
用回調(diào)的方式返回上一個(gè)state的值,這樣就可以解決了,當(dāng)然可以簡(jiǎn)潔些
怎么拿最新結(jié)果?
但是最后那個(gè)打印還是拿不到最新的結(jié)果咋辦?
可以用臨時(shí)變量解決
?也可以套多一層函數(shù)形式
小細(xì)節(jié)
這里數(shù)據(jù)加了幾次,但是只渲染一次,把你要更新的請(qǐng)求合并到一起處理
3.緩存功能
代碼如下
每次點(diǎn)擊x,y都會(huì)加1,但是
文章來源:http://www.zghlxwxcb.cn/news/detail-850286.html
為什么?因?yàn)?strong>每次組件重新渲染let y都會(huì)重新賦值!!setState有緩存不會(huì)重新賦值?文章來源地址http://www.zghlxwxcb.cn/news/detail-850286.html
到了這里,關(guān)于[react] useState的一些小細(xì)節(jié)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!