深度克隆react.createRef实例

时间:2019-06-30 20:23:48

标签: reactjs

我有一组数据对象,因此我存储输入的引用并仅在某些情况下使用它们(输入引用)来调用.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();
    });
};

0 个答案:

没有答案