React入门

注意:阅读本文需要有一定的js,html,css基础。

1 简介

官网:React

React是目前前端届非常流行的框架,围绕React有三大技术:

1、react JS 用于编写网页应用(本文就是介绍此技术)

2、React Native 用于编写原生应用

3、React VR 用于编写Vr(全景视图应用)

React是在2013年由Facebook被开源,是使用人数最多的前端框架,有健全的文档和完善的社区,React16之后的版本被称为React Fiber,对底层的核心算法进行了很大的改良,引入了优先级、分片等概念。

2 环境搭建

1) 下载安装Node.js

2) 使用脚手架工具,在命令窗口依次执行以下命令:

  • npx crate-react-app appname
  • cd appname
  • npm start

为了下载速度更快,建议切换npm镜像源,执行下面的命令:

npm set registry http://registry.npmmirror.com

建议使用VsCode作为开发工具,完全免费,这里推荐几个代码补全的插件:

1、Reactjs code snippets 代码补全插件

2、React Redux ES6 Snippets

3、JavaScript (ES6) code snippets(es6代码片段)

4、Typescript React code snippets(这是tsx的react组件片段)

5、Path Intellisense(可自动提示补全引入的文件名);

6、Prettier -JavaScript formatter(格式化);

7、npm Intellisense(自动补全依赖包名)。

工程初始文件结构:

入口文件是index.js:

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
// import reportWebVitals from './reportWebVitals';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

3 新增组件

组件名约定以大写开头

index.js中的App就是一个组件

i

import logo from './logo.svg';
import './App.css';
import React, { Component } from 'react';

class App extends Component {
  render() {
    return (
      //这种直接使用标签的语法叫jsx语法
      <div className="App">
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <p>
            Edit <code>src/App.js</code> and save to reload.
          </p>
          <a
            className="App-link"
            href="https://reactjs.org"
            target="_blank"
            rel="noopener noreferrer"
          >
            Learn React
          </a>
        </header>
      </div>
    )
  };
}

export default App;

4 列表的新增和删除

4.1 新增列表项:

list: [...this.state.list, 'hello']

4.2 删除列表项:

使用splice函数

delItem(index) {
    //不建议直接修改原列表,拷贝副本再赋值会有更好的性能和维护性,方便调试
    const list = [...this.state.list];
    list.splice(index, 1);
    //如果键与值参数名一致,则可直接写这么写就能赋值
    this.setstate({ list })
  }

5 组件之间的传参通信

5.1 父组件向子组件传参

父组件通过属性传参:

<Todoltem content={item}/>

子组件通过props接收参数:

<div>{this.props.content}</div>

5.2 子组件向父组件传参

通过调用父组件的方法来通信

父组件传递方法:

子组件调用方法:

6 引用样式

6.1 第一种:通过style属性

6.2 第二种:通过className

a.新增样式文件:

b.引入样式文件:

c 使用className引用样式:

7 UI库

常用的有三种:

  • Ant Design:这是一个由阿里巴巴团队开发的基于 React 的 UI 组件库,它提供了大量与 Element UI 类似的组件。
  • Material-UI:这是一个基于 Google 的 Material Design 规范的 React 组件库。
  • React Bootstrap:如果你喜欢 Bootstrap 的设计风格,那么可以使用这个基于 Bootstrap 的 React 组件库。

建议安装Ant Design库:

Step 1:npm 安装

npm install antd

Step 2:引入Ant Design的样式

Ant Design的组件依赖于它的样式文件,所以你需要在你的项目中引入Ant Design的CSS样式。在你的主要入口文件(通常是index.js或App.js)中,添加以下代码:

import 'antd/dist/antd.css'; // 引入Ant Design的CSS样式

Step 3:使用Ant Design组件

现在你可以在你的React组件中使用Ant Design提供的组件了。以下是一个简单的例子,展示了如何在React组件中使用Ant Design的Button组件:

import React from 'react';
import { Button } from 'antd'; // 从Ant Design中引入Button组件

const App = () => {
  return (
    <div>
      <Button type="primary">主要按钮</Button>
    </div>
  );
}

export default App;

8 按需加载

为了减小你的应用程序的体积,你可以使用babel-plugin-import插件来按需加载Ant Design的组件。首先,你需要安装这个插件:

npm install babel-plugin-import --save-dev
# 或者
yarn add babel-plugin-import --dev

然后,在你的.babelrc文件(或者babel.config.js)中配置这个插件:

{
  "plugins": [
    ["import", { "libraryName": "antd", "style": "css" }] // `style: true` for less
  ]
}

现在,当你从antd中引入组件时,babel-plugin-import插件会自动按需加载组件和样式。

其他更深入的用法请查看官网指引文档:React Reference Overview – React

(也有中文文档,但不建议看中文文档,一是因为可能翻译不准确,二是可能不能及时更新。)

参考资源:项目工程代码精简_React16.4 快速上手-慕课网

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
React 是一个用于构建用户界面的 JavaScript 库。它被 Facebook 开发,用于构建 Facebook 和 Instagram 等应用程序的用户界面。React 通过组件化的方式构建用户界面,使得代码更易于维护和复用。下面是一个简单的 React 入门指南: 1. 安装 React React 可以通过 NPM 安装,可以在命令行中执行以下命令来安装 React: ``` npm install react react-dom ``` 2. 创建 React 组件 在 React 中,一个组件就是一个 JavaScript 类。下面是一个简单的组件示例: ```javascript import React from 'react'; class HelloWorld extends React.Component { render() { return <div>Hello World!</div>; } } export default HelloWorld; ``` 这个组件只是简单地渲染一个 `Hello World!` 的文本。 3. 渲染组件 要在页面中渲染组件,需要使用 `ReactDOM.render()` 方法。下面是一个简单的示例: ```javascript import React from 'react'; import ReactDOM from 'react-dom'; import HelloWorld from './HelloWorld'; ReactDOM.render( <HelloWorld />, document.getElementById('root') ); ``` 这个示例中,我们首先导入了 `ReactDOM` 和 `HelloWorld` 组件,然后使用 `ReactDOM.render()` 方法将 `HelloWorld` 组件渲染到页面上。在这个示例中,我们将组件渲染到了一个 ID 为 `root` 的元素中。 这只是 React入门React 还有很多其他的概念和功能,比如 JSX、状态、生命周期等等。如果您想深入了解 React,可以查看 React 官方文档,里面有很多有用的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q.ZHA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值