好客租房42-react组件基础综合案例-渲染列表无数据并优化

渲染列表评论

1判断列表数据的长度是否为0

2如果为0 则渲染暂无评论

//导入react
import React from 'react'
import ReactDOM from 'react-dom'
//导入组件
// 约定1:类组件必须以大写字母开头
// 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性
// 约定3:组件必须提供render方法
// 约定4:render方法必须有返回值
 
class HelloWorld extends React.Component {
    //初始化状态
    state={
        // comments:[{
        //     id:1,name:"geyao",content:"哈哈"
        // },{
        //     id:2,name:"fangfang",content:"哈哈"
        // },{
        //     id:3,name:"geyao",content:"哈哈"
        // }]
        comments:[]
    }
    render() {
        return (
            <div className="app">
                <div>
                    <input
                        className="user"
                        type="text"
                        placeholder="请输入评论人"
                    />
                    <br />
                    <textarea
                        className="content"
                        cols="30"
                        rows="10"
                        placeholder="请输入评论列表"
                    ></textarea>
                    <br />
                    <button>发表评论</button>
                </div>
                {this.state.comments.length===0?(
                        <div className="no-comment">暂无评论,快去评论吧~</div>
                ):(
                    <ul>
                    {/* <li>
                        <h3>评论人:jack</h3>
                        <h3>评论内容:沙发</h3>
                    </li> */}
                    {this.state.comments.map(item=>(
                        <li key={item.key}>
                        <h3>评论人:{item.name}</h3>
                        <p>评论内容:{item.content}</p>
                    </li>
                    )
                      
                        
                    )}
                </ul>
                )}
            
            
            </div>
        )
    }
}
 
ReactDOM.render(<HelloWorld />, document.getElementById('root'))
运行结果

posted @ 2022-05-16 19:02  前端导师歌谣  阅读(24)  评论(0编辑  收藏  举报