<AtInput
value={holder_info.mobile}
onChange={val => updateHolder(val, "mobile")}
></AtInput>
<AtInput
value={holder_info.name}
onChange={val => updateHolder(val, "name")}
></AtInput>
如上图,即使updateHolder用useCallback包裹了也没用,因为onChange传递的是()=> { return updateHolder },传递到AtInput中每次都会没认为是一个新函数。
这就导致一个重复渲染的问题:某一个AtInput触发onchange,导致父组件更新,其他AtInput组件侦测到传递下来的onChange函数的变化,也触发re-render。这该如何避免呢
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…