获取错误错误:反应。Children.only预期接收一个React元素子元素。真的卡住了,有人帮忙吗?
componentDidMount() {
axios.get(this.props.url).then((res) => {
const data = res.data._embedded.districts;
this.setState({ data });
console.log(this.state.data);
});
}
render() {
console.log("render");
if (this.props.terr === "districts") {
return (
<FeatureGroup>
{this.state.data.map((data) => {
return (
<GeoJSON
key={data.name}
data={data.geometry}
style={this.myStyle}
>
<Popup>{data.name}</Popup>
</GeoJSON>
);
})}
</FeatureGroup>
);
}
}
}
正如错误所描述的,FeatureGroup
希望将单个元素作为子元素。当前,给定数组,您有一对多的元素。原型map
用于处理数组和生成元素。这可能来自FeatureGroup
上指定允许多少子级的道具类型。这并不少见,像react redux
中的Provider
这样的元素需要一个子元素。至少包装数组的输出。原型使用元素映射
:
<FeatureGroup>
<div>
{this.state.data.map((data) => {
return (
<GeoJSON
key={data.name}
data={data.geometry}
style={this.myStyle}
>
<Popup>{data.name}</Popup>
</GeoJSON>
);
})}
</div>
</FeatureGroup>
或者你可以用React。片段:
<FeatureGroup>
<React.Fragment>
{this.state.data.map((data) => {
return (
<GeoJSON
key={data.name}
data={data.geometry}
style={this.myStyle}
>
<Popup>{data.name}</Popup>
</GeoJSON>
);
})}
</React.Fragment>
</FeatureGroup>
希望这有帮助!
没有看到所有的代码是很难告诉。我有一个刺痛,你的this.state.data是null或空在你的构造函数,第一次你试图呈现你的地图函数不返回任何数据。
首先尝试检查数据中是否有数据。
{this.state.data.length && <FeatureGroup>
{this.state.data.map((data) => {
return (
<GeoJSON
key={data.name}
data={data.geometry}
style={this.myStyle}
>
<Popup>{data.name}</Popup>
</GeoJSON>
);
})}
</FeatureGroup>}
我也犯了同样的错误。在我的例子中,在带有标签的组件内部有一个空白区域。内部的空空间{“”}被视为另一个组件,因为
<Link href="/"> {" "} // I removed empty space
<a className="navbar-brand">GitTix</a>
</Link>
我试图使用antd库创建一个web表,但遇到了一个错误 “react.development.js:1251未捕获错误:react.Children.only应接收单个react元素子元素”。我完全陷入困境,无法找到解决办法。有人能帮忙吗?
当我试图在WordPress中添加
我正在学习自己的反应。在我的渲染循环中,我尝试在其中添加元素,以便为每个数据创建超链接。但我有一个问题:反应。儿童仅应接收单个React元素子元素。有人知道为什么会这样吗?这是我的部分代码。希望能让我的问题更容易理解。我跳过了编码的一些部分,因为问题似乎发生在渲染部分。 应用程序。js ### 编码乐趣。js ps:posts是json数据,我没有在这里添加太多数据。 列表age.js } 如果我
我的React本机代码中有以下呈现方法: 它给我这个错误: 预期接收单个React元素子元素 如果我删除了组件,它就可以正常工作。如果我删除图像组件,它仍然会给出错误。 我不明白为什么它会给我这个错误<代码>
我正在构建一个基本的react-login应用程序,用于教育目的,并使用React-router的onEnter prop功能验证一条路由 一切都按预期工作,但我不明白为什么路由器会在一眨眼的时间内渲染Home组件,然后在我登录后尝试路由时将路由替换为?如果我登录后尝试或,也会发生同样的事情。,有办法修复这种行为吗?? 我已经尝试通过在componentWillMount方法中对用户进行身份验证来
问题内容: 我有一个组件,单击时需要切换一个组件。这有效: 它使用条件显示或不显示组件。现在,我希望它逐渐消失。我尝试添加一个挂钩以过渡不透明度,但这不起作用。有没有简单的方法可以做到这一点? 问题答案: 使用CSS类切换+不透明度转换的示例:https : //jsfiddle.net/e7zwhcbt/2/ 这是有趣的CSS: 和render函数: