推扬网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
推扬网 门户 你问我答 查看内容

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

2021-8-2 17:53| 发布者: admin| 查看: 402| 评论: 0|原作者: admin|来自: 推杨站长网

摘要: 程式目的是這樣的,我的規格類型select選單選完後,旁邊的規格名稱會對應出資料庫裡該類型裡面已經設定好的名稱(ex. 我選溫度,旁邊的規格名稱select就會有100, 60, 等可以選,選擇單位,...

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

规格型号种类的select<Select value={type} onChange={handleChangeSelect} > <MenuItem value=""> <em>None</em> </MenuItem> <MenuItem value={'1'}>企业</MenuItem> <MenuItem value={'2'}>溫度</MenuItem> <MenuItem value={'3'}>糖份</MenuItem> <MenuItem value={'4'}>投料</MenuItem></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) => ( <MenuItem value={s.specificType}>{s.specificName}</MenuItem> ))}

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

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

还恳求大佬们指导一下你们碰到此难题的处理方法,万分感激!!


鲜花

握手

雷人

路过

鸡蛋

最新评论

热门推荐
最新资讯

QQ|广告服务|投稿要求|禁言标准|版权说明|免责声明|手机版|小黑屋|推扬网 ( 粤ICP备18134897号 )|网站地图

GMT+8, 2021-9-21 19:14 , Processed in 0.619831 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部