不变违规:对象作为React子对象无效
在组件的render函数中,我有: render() { const items = ['EN', 'IT', 'FR', 'GR', 'RU'].map((item) => { return (<li onClick={this.onItemClick.bind(this, item)} key={item}>{item}</li>); }); return ( <div> ... <ul> {items} </ul> ... </div> ); } 一切正常,但是当单击<li>元素时,出现以下错误: 未捕获的错误:始终违反:对象作为React子对象无效(找到:带有键{dispatchConfig,dispatchMarker,nativeEvent,target,currentTarget,类型,eventPhase,气泡,cancellable,timestamp,defaultPrevented,isTrusted,视图,详细信息,screenX的对象,screenY,clientX,clientY,ctrlKey,shiftKey,altKey,metaKey,getModifierState,按钮,按钮,relatedTarget,pageX,pageY,isDefaultPrevented,isPropagationStopped,_dispatchListeners,_dispatchIDs})。如果您打算渲染孩子的集合,请使用数组代替,或使用React附加组件中的createFragment(object)包装对象。检查的渲染方法Welcome。 如果我改变this.onItemClick.bind(this, item)对(e) => onItemClick(e, item)地图功能一切正常的内部预期。 如果有人可以解释我做错了什么并解释为什么会出现此错误,那将是很好的 更新1: onItemClick函数如下,删除this.setState导致错误消失。 onItemClick(e, item) { this.setState({ lang: item, }); } 但是我无法删除此行,因为我需要更新此组件的状态