React | 青训营笔记

91 阅读3分钟

React是一个强大的JavaScript库,用于构建可重用和可扩展的用户界面。它是由Facebook开发的,让开发人员可以更轻松地构建可重用的UI组件。

一、React的基础知识

1.组件

React应用程序由组件构成。组件是一个可重用的UI元素,它包含了HTML、CSS和JavaScript代码。React组件可以是类组件或函数组件。
类组件是一个JavaScript类,它继承自React.Component,并实现一个render()方法。render()方法返回一个React元素,该元素描述了组件的输出。类组件的示例:

import React from 'react';  
  
class MyComponent extends React.Component {  
  render() {  
    return <h1>Hello, World!</h1>;  
  }  
}  

函数组件是一个JavaScript函数,它接收一个props对象并返回一个React元素。函数组件的示例:

import React from 'react';  
  
function MyComponent(props) {  
  return <h1>Hello, {![]()props.name}!</h1>;  
}  

2.状态

组件的状态是一组可以改变的值。状态通常用于存储组件的数据,并在组件中进行操作。组件的状态可以通过调用setState()方法来更新。setState()方法会重新渲染组件,并将更新后的状态传递给render()方法。
使用状态的类组件的示例:

import React from 'react';  
  
class MyComponent extends React.Component {  
  constructor(props) {  
    super(props);  
    this.state = { count0 };  
  }  
  
  handleClick() {  
    this.setState({ countthis.state.count + 1 });  
  }  
  
  render() {  
    return (  
      <div>  
        <p>You clicked {this.state.count} times</p>  
        <button onClick={() => this.handleClick()}>Click me</button>  
      </div>  
    );  
  }  
}  

3.属性

组件的属性是一组不可改变的值。属性通常用于向组件传递数据。组件可以通过props对象访问属性。
使用属性的函数组件的示例:

import React from 'react';  
  
function MyComponent(props) {  
  return <h1>Hello, {![]()props.name}!</h1>;  
}  
  
<MyComponent name="World" />  

二、React的实践

1.创建React应用程序

要创建React应用程序,可以使用create-react-app工具。create-react-app是一个命令行工具,用于自动配置React项目的环境和结构。
要使用create-react-app,可以先安装它:

npm install -g create-react-app  

然后,在命令行中运行以下命令来创建一个新的React应用程序:

create-react-app my-app  

该命令将创建一个名为my-app的新目录,并在其中安装React应用程序的所有依赖项。

2.使用React组件

要在React应用程序中使用组件,可以在需要的地方导入它们,并在JSX中使用它们。
使用MyComponent组件的示例:

import React from 'react';  
import MyComponent from './MyComponent';  
  
function App() {  
  return (  
    <div>  
      <MyComponent name="World" />  
    </div>  
  );  
}  
  
export default App;  

3.使用状态

要在组件中使用状态,可以在构造函数中初始化它,并在需要的地方使用setState()方法来更新它。
使用状态的计数器组件的示例:

import React from 'react';  
  
class Counter extends React.Component {  
  constructor(props) {  
    super(props);  
    this.state = { count0 };  
  }  
  
  handleClick() {  
    this.setState({ countthis.state.count + 1 });  
  }  
  
  render() {  
    return (  
      <div>  
        <p>You clicked {this.state.count} times</p>  
        <button onClick={() => this.handleClick()}>Click me</button>  
      </div>  
    );  
  }  
}  
  
export default Counter;  

4.使用属性

要在组件中使用属性,可以在组件中访问props对象。
使用属性的Hello组件的示例:

import React from 'react';  
  
function Hello(props) {  
  return <h1>Hello, {![]()props.name}!</h1>;  
}  
  
export default Hello;  
import React from 'react';  
import Hello from './Hello';  
  
function App() {  
  return (  
    <div>  
      <Hello name="World" />  
    </div>  
  );  
}  
  
export default App;  

5.使用React路由

React路由是一个用于在React应用程序中处理导航的库。它允许开发人员定义可导航的URL,以及在URL更改时在应用程序中切换视图。
要使用React路由,可以先安装它:

npm install react-router-dom  

然后,在应用程序的根组件中导入BrowserRouter,并定义路由。
使用React路由的示例:

import React from 'react';  
import { BrowserRouterRouteSwitch } from 'react-router-dom';  
import Home from './Home';  
import About from './About';  
import Contact from './Contact';  
  
function App() {  
  return (  
    <BrowserRouter>  
      <Switch>  
        <Route exact path="/" component={Home} />  
        <Route path="/about" component={About} />  
        <Route path="/contact" component={Contact} />  
      </Switch>  
    </BrowserRouter>  
  );  
}  
  
export default App;  

在此示例中,BrowserRouter是一个容器,它包含所有的路由。Switch组件将从上到下的遍历路由,直到找到匹配的路径为止。Route组件定义了一个单个路由,它包含一个路径和一个组件。