react如果你想为一个组件返回多个元素怎么办?

react中组件一般都是只返回一个父节点包含的元素,而我们有时候就是想返回多个元素怎么办,当然react团队也帮你想到了,两种方式:1,以数组的形式返回;2,创建React片段

例如,你想这样...遍历tbody然后在遍历td,输出这种格式

name age score
Alice 18 100
Bob 18 100

开始你这样写...


        {this.renderRow()}
    
name age score
/************/ renderRow = () => { this.state.dataList.map((item, i) => { return ( {item.name} {item.age} {item.score} ) }) } // 结果就是报错 ...react组件只允许返回一个父节点哦...

方法一: 以数组形式返回

renderRow = () => {
    this.state.dataList.map((item, i) => {
        return [
            
                {item.name}
                {item.age}
                {item.score}
            
        ]
    })
}   

// 对就这样,将对象格式的元素 改成数组格式 吼吼吼.... 或者你可以声明一个数组 直接返回,当然一样喽

方法二: 创建react片段,可以让你将元素列表加到一个分组中,而且不会增加额外的节点元素

renderRow = () => {
    this.state.dataList.map((item, i) => {
        return (
            
                
                    {item.name}
                    {item.age}
                    {item.score}
                
            
        )
    })
}


后续react团队还会对React.Fragment做进一步的更新,我们也任重而道远,将上下而求索...





















你可能感兴趣的:(react.js)