当前位置: > 热传

React老问题,setState後画面没有立即Render,但这次不能用useEffect >< 一 ...

时间:2022-04-19 21:30:48 热传 我要投稿

程序目地是那样的,我的规格型号种类select选单项选择题完後,边上的规格型号名字会相匹配出信息库里该种类里边早已设置好的名字(ex. 我选溫度,边上的规格型号名字select便会有100, 60, 等能够选,挑选企业,便会有杯、碗 等能够选)。如今碰到情况一样式规格型号select挑选了,程式码是有跑setState了,可是边上的名字select选单沒有render因此 见到的选择项或是上一次挑选的內容。程式码以下:

规格型号种类的select选中後的handleChangeSelect functionconst handleChangeSelect = (event) => { setType(event.target.value); fetchSpecification(type); //这一type便是上边哪行set的那一个 };

fetchSpecification(type)的界定方法

async function fetchSpecification(type) { let config = { headers: { "Content-Type": "application/json", } } //config try{ const response = await Axios.post(SPECIFICATION_URL, { specificType: type }, config); setSpecList(response.data.data); //这儿data传回是一个包许多 物品的列阵 }catch(e){ console.log("爬取不正确:" e); } }

4.第二栏规格型号名字的select用的specList界定

const [specList, setSpecList] = useState([]); //设定值一个空列阵,上边传回的立即用set盖掉

5.规格型号名字的select

{specList.map((s) => ({s.specificName}))}

这个问题确实爬了好长时间的文,中国海外都是有,但许多 全是表述setState为何麽不马上更新的基本原理,沒有讲一个恰当或马上的方式(该不容易React没有吧....),大多数讲的是用useEffect监管某一值更改就要更新,但那一个更新或是要重抓一次所有 网页页面的材料,仿佛也没有一个靠谱的方法便是“我想的非常简单,setState完值就马上对相匹配的DOM连接点更新”那样....

(Vue仿佛有一个双重关联能够达到,但我不太喜欢Vue的code排序方法XD....