我有一组数据对象,因此我存储输入的引用并仅在某些情况下使用它们(输入引用)来调用.focus()。
我很好奇在状态更新之前应该深度克隆引用吗? (似乎在决策性能上似乎不是一个明智的选择)。
我还认为,在状态中存储引用可能会有更好的方法,谁愿意听听任何建议。
简化的代码:
state = {
items: [{
id: 'id1',
count: 1,
inputRef: React.createRef()
}]
};
handleTitleChange = (newTitle) => {
const updatedItems = this.state.items.map(item => ({...item}));
updatedItems[0].title = newtitle;
this.setState({
items: updatedItems
}, () => {
this.state.items[0].inputRef.current.focus();
});
};