当前位置: 首页 > news >正文

网站的ip地址是什么nba篮网最新消息

网站的ip地址是什么,nba篮网最新消息,合肥做机床的公司网站,黄骅港股票代码做这个案例捏 因为需要用到样式,所以创建一个样式文件: //29_实战.module.css .active{text-decoration:line-through } 然后创建jsx文件,修改main文件:导入Todos,写入Todos组件 import { StrictMode } from react …

做这个案例捏

因为需要用到样式,所以创建一个样式文件:

//29_实战.module.css
.active{text-decoration:line-through
}

然后创建jsx文件,修改main文件:导入Todos,写入Todos组件

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import Todos from './28_实战'createRoot(document.getElementById('root')).render(<StrictMode><Todos /></StrictMode>
)

Todos.jsx文件需要先写渲染组件的基本结构:

function Todos() {return (<div></div>)
}
export default Todos

观察案例,首先需要一个添加任务的文本框、点击添加任务的按钮、用value使用可控组件改变value值,记得加onChange:

return (<div><input type='text' value={msg} onChange={handleChange} /><button onClick={handleClick}>点击添加任务</button></div>)

改变value的值、使用Immer整合更改

 const [msg, setMsg] = useState('')const [list, setList] = useImmer([])const handleChange = (e) => {setMsg(e.target.value)}const handleClick = () => {setList((draft) => {draft.unshift({ id: list.length, task: msg, checked: false })})setMsg('')}

复选框功能:

 const unCompleteList = list.filter((item) => !item.checked)const completeList = list.filter((item) => item.checked)const handleChecked = (e, id) => {setList((draft) => {draft.find((item) => item.id === id).checked = e.target.checked //更改对应id的数据的复选框状态})}return(<div>{/* {未完成的列表} */}<CompleteListtitle={<h2>未完成的任务:{unCompleteList.length}个</h2>}handleChecked={handleChecked}list={unCompleteList}/>{/* {已完成的列表} */}<CompleteListtitle={<h2>已完成的任务:{completeList.length}个</h2>}list={completeList}handleChecked={handleChecked}/></div>)

列表的组件

function CompleteList({title = '',list = [],handleChecked = function () {},
}) {return (<>{title}<ul>{list.map((item) => {return (<likey={item.id}className={classNames({ [style.active]: item.checked })}><inputtype='checkbox'checked={item.checked}onChange={(e) => handleChecked(e, item.id)}/>{item.task}</li>)})}</ul></>)
}

整体的代码

import { func } from 'prop-types'
import { useState } from 'react'
import { useImmer } from 'use-immer'
import classNames from 'classnames'
import style from './29_实战.module.css'function CompleteList({title = '',list = [],handleChecked = function () {},
}) {return (<>{title}<ul>{list.map((item) => {return (<likey={item.id}className={classNames({ [style.active]: item.checked })}><inputtype='checkbox'checked={item.checked}onChange={(e) => handleChecked(e, item.id)}/>{item.task}</li>)})}</ul></>)
}function Todos() {const [msg, setMsg] = useState('')const [list, setList] = useImmer([])const unCompleteList = list.filter((item) => !item.checked)const completeList = list.filter((item) => item.checked)const handleChange = (e) => {setMsg(e.target.value)}const handleClick = () => {setList((draft) => {draft.unshift({ id: list.length, task: msg, checked: false })})setMsg('')}const handleChecked = (e, id) => {setList((draft) => {draft.find((item) => item.id === id).checked = e.target.checked //更改对应id的数据的复选框状态})}return (<div><input type='text' value={msg} onChange={handleChange} /><button onClick={handleClick}>点击添加任务</button>{/* {未完成的列表} */}<CompleteListtitle={<h2>未完成的任务:{unCompleteList.length}个</h2>}handleChecked={handleChecked}list={unCompleteList}/>{/* {已完成的列表} */}<CompleteListtitle={<h2>已完成的任务:{completeList.length}个</h2>}list={completeList}handleChecked={handleChecked}/></div>)
}
export default Todos

效果:

http://www.ds6.com.cn/news/24648.html

相关文章:

  • 政府做网站得物app的网络营销分析论文
  • 那个网站专做委外发手工yahoo搜索引擎入口
  • 东莞网站搭建邀请注册推广赚钱的app
  • 搜狐最大的门户网站互联网营销外包推广
  • 安康网站定制厂家网络营销专业是干什么的
  • 网站设计如何收费seo品牌
  • 做网站都要多少钱百度宣传推广费用
  • wordpress选择表比较好的网络优化公司
  • 什么样的彩票网站开发搭建公司才是靠谱的seo培训费用
  • 中山台州网站建设推广产品运营主要做什么
  • 精品课程网站建设的国内外现状seo专员岗位要求
  • 怎么做wordpress主题班级优化大师下载安装最新版
  • 江苏省住房和建设部网站seo排名技术教程
  • 网站哪个公司做的好seo服务公司怎么收费
  • 自己做网站还是开通阿里巴巴诚信通沈阳网站关键词优化公司
  • 做网站推广汉狮网络宁波seo外包优化
  • 局域网网站建设教程网站流量分析工具
  • 微信网站模块安卓优化
  • 网站建设策划模板下载淘宝运营培训班学费大概多少
  • 辽宁响应式网站建设价格百度官网首页下载
  • dedecms做地方网站seo优化顾问服务阿亮
  • 北京工作室网站建设培训网站排名
  • 个人可以做建站网站么免费外贸接单平台
  • 软件界面设计要求上海谷歌seo公司
  • 做网站开发要多久想做app推广项目在哪找
  • 国家企业信用信息官网宁波seo关键词优化报价
  • 做网站月薪两万百度怎样发布信息
  • 网站源码 带后台seo标题优化的心得总结
  • 企业年报查询官网入口长尾词seo排名优化
  • 实力网站开发广州网站优化费用