更改状态时出现insertBefore错误

时间:2019-02-27 22:23:59

标签: javascript reactjs

在更改状态时获取insertBefore错误

categoryInfo是一个对象数组。调用api readRelationById时,如果在数据库中添加或删除了某些内容,它将重新加载对象数组。

getInfo= (id) => {
        Api.readRelationById(id)
            .then(res => this.setState({categoryInfo: res}))
            .catch(err => console.log(err))
    };

列表的呈现方式

<select multiple onChange={onRemoveChange(props)} size="10" style={{width: '500px'}}>
     {props.categoryInfo !== undefined ? props.categoryInfo.map((item, index) => {
          return <option value={item.id}key={index}>{item.id} {item.description}</option>
          }) : <option disabled> N/A </option>}
</select>

错误消息

NotFoundError: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.

1 个答案:

答案 0 :(得分:0)

不确定之后是否会出现更多错误,但是首先,您绝对应该更改此错误:

<select multiple onChange={onRemoveChange(props)} ...

对此:

<select multiple onChange={() => onRemoveChange(props)} ...

以便传递一个函数,而不是通过函数求值。