React18快速入门

需要先安装并配置React相关的工具和插件

下载安装Node.js,这里以MacOS Node.js v22.6.0为例
终端命令行检查是否安装成功

复制代码
node -v
npm -v

Node.js快速入门

npm设置镜像源

复制代码
#设置为阿里镜像源
npm config set registry https://registry.npmmirror.com
#查看是否生效
npm get registry 

下载并安装WebStorm

使用WebStorm创建React项目,这里命名为my-react-app



打开package.json文件查看如何运行该项目

接着在命令行中运行react-scripts start


接着打开src/index.js文件,可以看到页面内容部分主要是通过加载App.js文件完成的。

1.数据渲染

修改src/App.js文件

复制代码
//数据渲染事例1
function App() {
  const divContent = '标签内容'
  const divTitle = '标签标题'
  return (
    <div title={divTitle}>
      {divContent}
    </div>
  );
}

export default App;

刷新浏览器可以看到新的修改页面

安装React Developer Tools插件后,当访问基于React构建的网站时,将看到Components和Profiler面板

修改src/App.js文件

复制代码
//数据渲染事例2
import {Fragment} from 'react'
function App() {
  const list = [
    {id:1,name:'Tom'},
    {id:2,name:'Jack'},
    {id:3,name:'Brown'},
  ]
  const listContent = list.map((item) => {
    return (
        <li key={item.id}>{item.name}</li>
    )
  })
  return (
    <Fragment>
      <ul>{listContent}</ul>
    </Fragment>
  );
}

export default App;

2.事件处理

修改src/App.js文件

复制代码
function App() {
  function handleClick() {
    alert('点击了按钮!');
  }
  return (
      <button onClick={handleClick}>
        按钮
      </button>
  );
}

export default App;

3.状态处理

修改src/App.js文件

复制代码
function App() {
    let divContent = '默认内容'
    function handleClick() {
    divContent = '新内容'
  }
  return (
      <div>
          <p>{divContent}</p>
          <button onClick={handleClick}>
            按钮
          </button>
      </div>
  );
}

export default App;

点击按钮,我们发现页面中的divContent没有发生变化,为了实现这种变化需要引入useState

修改src/App.js文件

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

function App() {

    const [data,setData] = useState({
        title:'默认标题',
        content:'默认内容'
    })
    function handleClick() {
        setData({
            ...data,//展开运算符把上面data的属性展开放到这里来
            content:'新内容'//只对content做修改
        })
  }
  return (
      <div>
          <div title={data.title}>{data.content}</div>
          <button onClick={handleClick}>
            按钮
          </button>
      </div>
  );
}

export default App;

4.组件间通讯

修改src/App.js文件

复制代码
function Article({title,detailData}){
    return (
        <div>
            <h2>{title}</h2>
            <Detail {...detailData} />
        </div>
    )
}

function Detail({content,active}){
    return (
        <div>
            <p>{content}</p>
            <p>{active ? '激活' : '未激活'}</p>
        </div>
    )
}

function App() {

    const articleData = {
        title:'标题1',
        detailData: {
            content:'内容1',
            active:true,
        }
    }

    return (
        <Article {...articleData} />
    );
}

export default App;

5.各种React Hooks

相关推荐
大连好光景21 小时前
ClaudeCode有关Agent Loop知识点大全
react·max_turns·agentloop·checkpoint快照·流式输入
汤米粥1 天前
2026年主流前端技术框架
vue·react·elementplus·tailwind css·angular‌·svelte‌·bootstrap‌
2601_967987372 天前
Next.js 文档
react·开发·全栈·文档·next.js
前进的李工2 天前
Agent 学习笔记 01:从工具调用到 ReAct 循环
笔记·学习·llm·agent·react·工具调用
Oiiouui3 天前
关于 Logto 登录系统的体验以及建议
javascript·安全·react
ZoeLandia3 天前
React11:数据请求与 TanStack Query
前端·react.js·typescript·react
漫步的猪5 天前
# 告别混乱与付费墙!Linkit:完全免费、本地优先的开源 AI 智能书签与收藏夹管理神器
人工智能·ai·开源·react·免费·书签·收藏夹
ZoeLandia8 天前
React03:useState 与不可变更新
前端·react.js·typescript·react
莫逸风9 天前
【毕设源码二期01】校园失物招领系统:从发布线索到核验交接
spring boot·毕业设计·课程设计·react
Shockang12 天前
TanStack Router 实战:URL 校验、Loader 与路由权限
typescript·react·路由·前端开发·tanstack router