gpt4 book ai didi

javascript - 我可以在 React 组件中使用相同的组件吗?

转载 作者:行者123 更新时间:2023-12-03 01:56:56 25 4
gpt4 key购买 nike

import React from 'react';

class Feladatlista extends React.Component{
constructor(props){
super(props);
}
feladatok = () => {
if(this.props.fl.length){
this.props.fl.map(fl => {
return <Feladatlista tipus={fl.tipus} nev={fl.nev} rang={fl.rang} fl={fl.fl}/>
})
}
}
render(){
return(
<div>
<div className={this.props.tipus}>
<p>{this.props.nev}</p>
<p>{this.props.rang}</p>
</div>
<div className='gyerek'>
{this.feladatok}
</div>
</div>
)
}
}
export default Feladatlista;

这是我的代码。我的计划是,拥有一个包含嵌套对象的数据库,其中我使用彼此连接的相同组件推送数据。像这样:

const feladat = [
{név: 'asd',
tipus: 'a',
rang: '1',
fl:[
{név: 'dd',
tipus: 'a',
rang: '1',
fl: []},
{név: 'eded',
tipus: 'a',
rang: '2',
fl: [
{név: 'das',
tipus: 'a',
rang: '1',
fl: []},
{név: 'dasd',
tipus: 'a',
rang: '2',
fl: [
{név: 'dasd',
tipus: 'a',
rang: '1',
fl: []
}]
}]
}]
}
]

这样,在主程序(App.js)中我定义了第一个元素,并且它循环遍历所有数组。但我收到错误消息:index.js:2178 Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it. 。问题是我想在组件中使用相同的组件,还是其他的?

最佳答案

首先需要从feladatok返回数据,其次,您需要从渲染中调用该函数,例如 this.feladatok()

class Feladatlista extends React.Component {
feladatok = () => {
if (this.props.fl.length) {
return this.props.fl.map((fl, index) => {
return (
<Feladatlista
key={index}
tipus={fl.tipus}
nev={fl.nev}
rang={fl.rang}
fl={fl.fl}
/>
);
});
}
return null;
};
render() {
console.log(this.props.fl);
return (
<div>
<div className={this.props.tipus}>
<p>{this.props.nev}</p>
<p>{this.props.rang}</p>
</div>
<div className="gyerek">{this.feladatok()}</div>
</div>
);
}
}

<强> Working demo

关于javascript - 我可以在 React 组件中使用相同的组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50193389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com