首页 > 其他分享 >好客租房43-react组件基础综合案例-4获取评论信息

好客租房43-react组件基础综合案例-4获取评论信息

时间:2023-02-10 15:38:23浏览次数:43  
标签:content name render 43 react 评论 好客 组件


获取评论信息

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'))


 

标签:content,name,render,43,react,评论,好客,组件
From: https://blog.51cto.com/u_15460007/6049431

相关文章

  • 好客租房46-react组件进阶目标
    1能够使用props接收数据2能够使用父子组件之间的通讯3能够实现兄弟组件之间的通讯4能够给组件添加props校验5能够说出生命周期常用的钩子函数6能够知道高阶组件的作用组件通......
  • 好客租房47-组件通讯介绍
    组件是独立且封闭的单元,默认情况下,只能使用组件自己的数据。在组件化过程中,我们将一个完整的功能中拆分成为多个组件,以更好的完成整个应用的功能。而在这个过程中,多个组件......
  • 好客租房49-组件的props(特点)
    特点1可以给组件传递任意类型的数据2props是只读的对象只能读取属性的值无法修改对象3注意:使用类组件时如果写了构造函数应该将props传递给super()否则无法在构造函......
  • 好客租房48-组件的props(基本使用)
    组件是封闭的要接受外部数据应该通过props来实现props的作用:接受传递给组件的数据传递数据:给组件标签添加属性接收数据:函数组件通过参数props接收数据类组件通过this.p......
  • 好客租房50-通讯的三种方式(父组件传递给子组件)
    1父组件提供要传递的state数据2给子组件标签添加属性值为state中的数据3子组件通过props获取父组件传递的数据//导入reactimportReactfrom'react'importReactDOMfro......
  • 好客租房51-通讯的三种方式(子组件传递给父组件)
    思路:利用回调函数父组件提供回调子组件调用将要传递的数据作为回调函数的参数//导入reactimportReactfrom'react'importReactDOMfrom'react-dom'//导入组件/......
  • 好客租房52-通讯的三种方式(兄弟组件的传递)
    共享状态提升到最近的公共父组件中由公共父组件管理这个状态状态提升提供共享状态或者操作状态的方法//导入reactimportReactfrom'react'importReactDOMfrom'react......
  • 好客租房54-props深入(children属性)
    children属性表示组件标签的子节点当组件标签有子节点是props就会有该属性props中的组件可以是任意属性都是可以渲染的 //导入reactimportReactfrom'react'......
  • 好客租房55-props深入(2props校验)
    对于组件来说props是外来的无法保证使用者传入什么格式的数据传入的数据格式不对可能会导致组件内部报错关键问题:不知道报错的具体原因1安装包props-types2导入props-typ......
  • 好客租房56-props深入(3props校验-约束规则)
    1常见类型:Array,bool,func,number,object,string2React:element3必填项:isRequred4特定结构的想:shape({}) //导入reactimportReactfrom'react'importReactDO......