Я работал над простым примером toto-redux todo для класса и наткнулся на несколько предупреждающих сообщений, которые отображаются в консоли каждый раз, когда я проверяю и снимаю флажок ввода.
Вы можете увидеть предупреждения на следующих изображениях.
Я также сделал поиск в Google по предупреждению, но не смог найти решение, которое работает. Кроме того, мое внимание привлекло то, что, похоже, он пытался получить доступ ко всем свойствам нативного события и элемента DOM.
Это код для презентационного компонента, который имеет флажок ввода
class TodoItem extends React.Component {
state = {
isChecked: false
};
handleCheckbox = () => {
this.setState({
isChecked: !this.state.isChecked
});
};
render() {
const { todos, onItemClick } = this.props;
const { isChecked } = this.state;
return (
<div>
<ul>
{todos.map((todo, id) => {
return (
<li key={id} onClick={onItemClick}>
<input
onChange={this.handleCheckbox}
type="checkbox"
checked={isChecked}
/>
<label>
<span />
{todo.textInput}
</label>
</li>
);
})}
</ul>
</div>
);
}
}
export default TodoItem;
Я также загрузил пример на CodeSandbox: https://codesandbox.io/s/k0mlxk1yqv
Если вы хотите повторить эту ошибку, вам нужно добавить элемент в список задач и установить флажок, чтобы снять и снять флажок пару раз.
Если у кого-то есть идея, почему эти предупреждающие знаки продолжают появляться и как их отключить, я был бы очень признателен за ваш вклад :)