React 零基础入门,一篇搞懂核心用法(适合新手)

正文

React 是目前使用最广的前端框架之一,由 Facebook 开发,主打函数组件 + Hooks,生态非常完善。这篇带你从零学会 React 基础,看完就能写页面。

1. 创建 React 项目

bash 复制代码
npm create vite@latest my-react-app --template react
cd my-react-app
npm install
npm run dev

2. 函数组件与 JSX

React 用 JSX 写视图,结构类似 HTML,但可以直接写 JS 表达式。

最简单组件:

jsx 复制代码
function App() {
  return <div>Hello React</div>
}

export default App

3. 状态管理:useState

React 用 useState 定义响应式数据:

jsx 复制代码
import { useState } from 'react'

function App() {
  const [count, setCount] = useState(0)

  return (
    <div>
      <p>{count}</p>
      <button onClick={() => setCount(count + 1)}>+1</button>
    </div>
  )
}

4. 条件渲染 & 列表渲染

条件

jsx 复制代码
{
  isShow && <div>显示内容</div>
}

列表

jsx 复制代码
const list = ['vue', 'react', 'angular']

return (
  <ul>
    {list.map((item, index) => (
      <li key={index}>{item}</li>
    ))}
  </ul>
)

5. 事件处理

jsx 复制代码
function handleClick() {
  alert('点击了')
}

return <button onClick={handleClick}>按钮</button>

6. 副作用 useEffect

相当于生命周期,常用于请求数据、定时器、监听窗口大小等。

jsx 复制代码
import { useEffect } from 'react'

useEffect(() => {
  // 进入执行
  console.log('组件挂载或更新')

  return () => {
    // 销毁时执行
    console.log('组件卸载')
  }
}, []) // 空数组 = 只执行一次

7. 组件拆分与传值

父组件:

jsx 复制代码
<Child name="React" />

子组件:

jsx 复制代码
function Child(props) {
  return <div>来自父组件:{props.name}</div>
}

8. 样式写法

  • 行内样式:style={{ color: 'red' }}
  • className:<div className="box">
  • CSS Modules / styled-components

总结

React 基础核心:

  • 函数组件 + JSX
  • useState 管理状态
  • useEffect 处理副作用
  • 组件拆分 + Props 传值
  • 列表 & 条件渲染

学会这些,你已经可以独立完成简单项目和常见业务页面。

祝各位指尖飞码,bug 不沾。

个人观点 · 仅供参考

相关推荐
陈随易34 分钟前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢3 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒3 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
cn_mengbei3 小时前
用React Native开发OpenHarmony应用:Reanimated共享元素过渡
javascript·react native·react.js
kyriewen3 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真4 小时前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal4 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
竹林8184 小时前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript
donecoding4 小时前
Playwright MCP 页面捕获:Snapshot、截图、HTML 到底选哪个?
前端·ai编程·前端工程化
滕青山4 小时前
在线PDF拆分工具核心JS实现
前端·javascript·vue.js