获取评论信息

1使用受控组件方式创建表单

//导入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: '哈哈',
			},
		],
		userName: '',
		userContent: '',
	}
	//修改表单元素
	handleForm = (e) => {
		const { name, value } = e.target
		this.setState({
			[name]: value,
		})
	}
	render() {
		const { userName, userContent } = this.state
		return (
			<div className="app">
				<div>
					<input
						className="user"
						type="text"
						placeholder="请输入评论人"
						value={this.userName}
						name="userName"
						onChange={this.handleForm}
					/>
					<br />
					<textarea
						className="content"
						cols="30"
						rows="10"
						placeholder="请输入评论列表"
						value={this.userContent}
						name="userContent"
						onChange={this.handleForm}
					></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'))