您的位置:首页 > 文旅 > 美景 > 湖南网架加工厂家_如何创建自己的博客网站_网站优化课程_seo关键词有话要多少钱

湖南网架加工厂家_如何创建自己的博客网站_网站优化课程_seo关键词有话要多少钱

2025/3/22 7:09:17 来源:https://blog.csdn.net/2301_77523019/article/details/146413624  浏览:    关键词:湖南网架加工厂家_如何创建自己的博客网站_网站优化课程_seo关键词有话要多少钱
湖南网架加工厂家_如何创建自己的博客网站_网站优化课程_seo关键词有话要多少钱

一、项目创建

npm create vite

这里选择react即可,如图:

二、基本文件说明

react函数式编程时,用的是JSX语法进行开发的,这里注意,return时只能有一个根标签;

三、React核心语法

1.插值功能

        插值可以使用的位置有标签内容和标签属性处(相当于vue的:语法和{{}}语法)

效果:

 2.条件渲染

效果:

 

3.列表渲染
import { Fragment } from "react/jsx-runtime"function App() {const list = [{name: '小吴',id: 1},{name: '小王',id: 2},{name: '小张',id: 3}]const listContent = list.map((item) => {return (<Fragment key={item.id}><li>{item.name}</li><li>-------------------------</li></Fragment>)})return (<><ul>{listContent}</ul></>)
}export default App

效果:

 

这里要注意:list.map中返回的也是一个JSX语法的字符串,所以要求也必须要有一个根标签,且列表渲染时要注意根标签上必须有一个key值,此时我们就可以使用Fragment来帮助我们,它等价于<></>(类型于vue中的template).

4.事件触发
import { useState } from "react"function App() {const [content, setContent] = useState('标签的默认内容')function handleClick(e: React.MouseEvent<HTMLButtonElement>) {console.log('点击了',e)setContent('按钮被点击了')}return (<><div>{content}</div><button onClick={handleClick}>按钮</button></>)
}export default App

效果:

注意:这里只有用useState才可以进行响应式操作(相当于get/set方法)

对对象的操作:
import { useState } from "react"function App() {const [data, setData] = useState({title: 'Hello React',content: '这是一个按钮'})function handleClick(e: React.MouseEvent<HTMLButtonElement>) {console.log('点击了',e)setData({title: 'Hello React!',content: '点击了按钮'})}return (<><div title={data.title}>{data.content}</div><button onClick={handleClick}>按钮</button></>)
}export default App

注意:这里如果感觉对象属性过多,可以使用展开运算符来方便操作(可以只修改一部分)

对数组进行操作:
import { Fragment, useState } from "react"function App() {const [list,setList] = useState([{name: '小吴',id: 1},{name: '小王',id: 2},{name: '小张',id: 3}])const listData = list.map((item: any) => {return (<Fragment key={item.id}><li>{item.name}</li></Fragment>)})function handleClick(e: React.MouseEvent<HTMLButtonElement>) {console.log('点击了',e)const temp = list.filter(item => item.id !== 3)temp.push({name: '小刘',id: 4})setList([...temp,{name: "小乔",id: 5}])}return (<><div>{listData}</div><button onClick={handleClick}>按钮</button></>)
}export default App

效果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com