学习react第一天

创建第一个react项目

create-react-app创建

javascript 复制代码
npx create-react-app my-react-app

vite创建

javascript 复制代码
npm create vite@latest my-app -- --template react-ts

Jsx

概念:JSX是JavaScript和XML(HTML)的缩写,表示在JS代码中编写HTML模版结构,它是React中编写 UI模版的方式

事件绑定

传参要用箭头函数不然会直接在标签里调用

javascript 复制代码
<button onClick={(e) => handelClick(args, e)}>按钮</button>

组件的定义

在React中,一个组件就是首字母大写的函数,内部存放了组件的逻辑和视图UI, 渲染组件只需要把组件当成标签书写 即可

javascript 复制代码
const Button = () => {
  return <button style={{color: 'blue'}}>bbbb</button>
}

useState

添加状态变量类似ref

返回的是一个数组

定义时解构,前面是状态变量,后面是修改的方法

javascript 复制代码
const [count, setCount] = useState(0)
  const addCount = () => {
    setCount(count + 1)
  }

<button onClick={() => setCount(count + 1)}>add</button>
<button onClick={() => addCount()}>{count}</button>

只有setCount能修改count的值,别的函数可以调用setCount来修改

循环渲染的方法

使用map返回一个html结构

javascript 复制代码
<ul>
  {list.map(item => <li key={item.id}>{item.name}</li>)}
</ul>

样式的添加修改

javascript 复制代码
<span 
    onClick={() => handelChange(item.type)} 
    key={item.type} 
    // className={`nav-item ${activeTab === item.type ? 'active' : ''}`}
    className={classNames('nav-item', {active: activeTab === item.type})}
>{item.text}</span>)}

条件判断

html语句中逻辑判断使用三元运算符或者逻辑运算符

javascript 复制代码
function App () {
  return (
    <div className="App">
      {/* 逻辑与 && */}
      {isLogin && <span>this is span</span>}
      {/* 三元运算 */}
      {isLogin ? <span>jack</span> : <span>loading...</span>}
    </div>
  )
}

复杂条件下通过函数使用if-else判断

javascript 复制代码
function getArticleTem () {
  if (articleType === 0) {
    return <div>我是无图文章</div>
  } else if (articleType === 1) {
    return <div>我是单图模式</div>
  } else {
    return <div>我是三图模式</div>
  }
}

function App () {
  return (
    <div className="App">
      {/* 调用函数渲染不同的模版 */}
      {getArticleTem()}
    </div>
  )
}
相关推荐
黄敬峰17 分钟前
从 XMLHttpRequest 到 JSON 模拟:打通前后端通信的任督二脉
javascript
weixin_4713830317 分钟前
Taro-03-页面生命周期
前端·javascript·taro
Asize23 分钟前
数组数据结构底层:从灵活到陷阱
前端·javascript·算法
十九画生24 分钟前
Ajax 入门:用 XHR 理解前后端异步请求
前端·javascript·后端
旅僧30 分钟前
Π0 理论讲解更新中
学习
知南x1 小时前
【DPDK例程学习】(3) timer
学习
放下华子我只抽RuiKe51 小时前
FastAPI 全栈后端(三):数据库与 ORM
前端·数据库·react.js·oracle·性能优化·前端框架·fastapi
源图客1 小时前
境外电商 - 龙虾智能体-综合选品推荐报告
开发语言·javascript·ecmascript
「維他檸檬茶」2 小时前
大模型算法学习2026.6.13
学习·算法
磊 子2 小时前
C++设计模式
javascript·c++·设计模式