在组件的呈现函数中,我有:
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>
);
}
所有内容都显示良好,但单击
未捕获得错误:不变冲突:对象作为React子级无效(找到:具有键得对象{dispatchConfig,dispatchMarker,nativeEvent,target,currentTarget,type,eventPhase,bubbles,cancelable,timeStamp,defaultPrevented,isTrusted,view,detail,screenX,screenY,clientX,clientY,ctrlKey,shiftKey,altKey,metaKey,getModifierState,button,buttons,relatedTarget,pageX,pageY,如果您打算呈现子级集合,请使用数组,或者使用React加载项中的createFragment(object)包装对象。检查welcome
的render方法。
如果我将this.onItemClick.bind(this,item)
更改为(e)=>onItemClick(e,item)
在html" target="_blank">map函数内部,所有工作都按预期进行。
如果有人能解释我做错了什么,解释为什么我会犯这个错误,那就太好了
更新1:
onItemClick函数如下所示,删除This.SetState将导致错误消失。
onItemClick(e, item) {
this.setState({
lang: item,
});
}
我遇到了这个错误,结果是我无意中在JSX代码中包含了一个对象,我希望它是一个字符串值:
return (
<BreadcrumbItem href={routeString}>
{breadcrumbElement}
</BreadcrumbItem>
)
breadcrumbelement
以前是一个字符串,但由于重构而变成了一个对象。不幸的是,React的错误消息并没有很好地将我指向存在问题的行。我必须跟踪我的堆栈跟踪,直到我识别出传递到组件中的“道具”,然后我发现了错误的代码。
您需要引用对象的字符串值属性,或者将对象转换为所需的字符串表示形式。如果您真的想要查看对象的内容,一个选项可能是json.stringify
。
我试图实现一个简单的功能,的一个按钮,它应该添加放置数组并显示在视图中,但我似乎得到了一个错误,请帮助 这是我的代码, 这是我得到的错误, 我是个新来的土生土长的人,所以我对此一无所知。
我有以下代码: 但我得到了以下错误: 未捕获的不变违规:对象作为React子对象无效(找到:带有键{正文、附件、视频、主题、updated_at、id、主题、反对票、作者、posted_at、注释、user_vote、好评、状态、标签、位置、track_impact、user_is_following、comments_count}的对象)。如果要呈现子集,请使用数组来代替,或者使用React加载
我正在React中制作一个RecipeBox应用程序,在我尝试实现搜索功能之前,它运行良好。一旦用户在搜索栏中输入搜索项,就会抛出错误。此方法中的块抛出错误- 这是错误消息- 控制台显示- 这表明是一个包含对象的数组。但是会抛出错误- 有趣的是,如果我删除搜索栏功能并完全删除else块,相同的语句就可以正常工作,不会抛出任何错误- 这是我在Codepen上的应用程序。 复制步骤- 在搜索栏中搜索现
问题内容: 请帮我。我不知道为什么这段代码不起作用。 它给我一个错误:“对象作为React子对象无效(找到:带有键{itemss}的对象)。如果要渲染子对象的集合,请改用数组。” 为什么{i.title}是对象。这只是一个字符串。我怎样才能解决这个问题?以及实际上如何迭代嵌套对象? 问题答案: 问题是因为你回来了 这是的等效即 您将返回具有键和的对象。你可以写 要么 要么 PS请注意,前两种方法将
问题内容: 我正在尝试使用用户代理将json设置为一种状态,但出现错误: 未捕获的不变违规:对象作为React子对象无效(找到:具有键{…}的对象)。如果您打算渲染孩子的集合,请使用数组代替,或者使用React附加组件中的createFragment(object)包装对象。 设置状态的方法: 服务 杰森 问题答案: 您无法执行此操作:由于您的错误提示您尝试执行的操作无效。您正在尝试将整个数组呈现