首页 > 其他分享 >react小案例:发表评论功能

react小案例:发表评论功能

时间:2023-02-19 05:55:04浏览次数:44  
标签:content name comments react 案例 state 评论 id

 

 

// //导入包 import React from 'react' import ReactDOM  from 'react-dom'
class App extends React.Component{ state={    //数据     comments:[       {id:1,name:'mama hen',content:'gagagagaga'},       {id:2,name:'doudou',content:'6666'},       {id:3,name:'bear',content:'wawawawawa'}     ],     userName:'',     userContent:'' } renderList(){  //条件渲染    if(this.state.comments.length===0){             return <div className='no comment'>暂无评论</div>           }           return (             <ul>         {this.state.comments.map(item=>(             <li key={item.id}>                  <h3>评论人:{item.name}</h3>                  <p>内容:{item.content}</p>             </li>           )           )           }         </ul>           )           } handleForm=(e)=>{   const{name,value}=e.target   this.setState({     [name]:value   }) } addComment=()=>{   const {comments,userName,userContent}=this.state   const newComments=[    {     id:comments.length+1,     name:userName,     content:userContent   },   ...comments   ]   this.setState({     comments:newComments   }) }   render(){     return(       <div className="app">         <div>           <input className='user' type='text' placeholder='请输入名字' value={this.state.userName} onChange={this.handleForm}           name='userName'></input>           <br/>           <textarea className='content' cols='30' rows='10' placeholder='请输入评论' value={this.state.userContent}           onChange={this.handleForm} name='userContent'>           </textarea>           <br/>           <button onClick={this.addComment}>发表评论</button>         </div>
        {this.renderList()}                   </div>

    )   } }
//渲染元素 ReactDOM.render(<App/>,document.getElementById('root'))

标签:content,name,comments,react,案例,state,评论,id
From: https://www.cnblogs.com/doudou666/p/17134164.html

相关文章

  • [React] React hook, component props for refactoring
    Ideaisputcomponentpropsinsidehook,andreturnfromhook,that'swaytokeepcomponentcleanandsimple Hook:import{MachineOptions}from"./machine......
  • react中Hooks的理解和用法
    一、Hooks是什么?Hook 是React16.8的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性至于为什么引入hook,官方给出的动机是解决......
  • 购物车案例&v-model进阶&与后端交互&vue生命周期&vue组件
    目录购物车案例&v-model进阶&与后端交互&vue生命周期&vue组件今日内容概要今日内容详细1购物车案例1.1基本购物车1.2带全选全不选1.3带加减2v-model进阶3与后端交互3......
  • Cesium体渲染之复刻ThreeJS案例
    体渲染体渲染具体是什么这个知乎上可以搜到,具体是什么这里就不过多赘述了,这里主要是讲讲如何在cesium中实现体渲染。Cesium的体渲染在Cesium最新的开发者版本中(102版本)......
  • reactor rabbitmq 实现RPC远程调用
    照着官方文档上写,最后发现在消费端怎么也返回不了数据。在文档中也找不到怎么返回数据,查看官方demo也没有案例,各种搜索都找不到。最后在源码中发现有一个RpcServer类,经过......
  • #yyds干货盘点 react笔记之学习之state组件
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • #yyds干货盘点 react笔记之学习之state注意事项
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • 3. 投票 案例项目(合集)
    3.投票-1创建项目和子应用创建项目命令$pythondjango-adminstartprojectmysite目录结构mysite/#项目容器、可任意命名manage.py......
  • react项目搭建
    前提:安装Nodejs环境 #全局安装脚手架npmicreate-react-app-g#project-name项目名称create-react-appproject-name方式二:使用npx替代npm 推荐使用......
  • react知识点汇总
    一、react认识用于构建用户界面的JavaScript库二、创建react项目:react脚手架创建react项目,创建新的react应用npxcreate-react-appmy-appcdmy-appnpm......