内容目录
Toggle序言
构建 React 项目 - React Vernacular 活动 08 介绍如何构建 React 项目:设置环境、构建项目和启动项目。
本文将详细介绍 React 语法。 React JSX – React 06 您将学习如何构建 React 组件,并了解组件具有父子关系。本文将介绍 React Props 的概念,包括React 组件声明、React Props。
React 组件声明
在此,让我们使用上一篇 JSX 文章中的语法来复习 React 组件和声明的语法。
import React from 'react'; import ReactDOM from 'react-dom/client'; const myElement = ( <ul> <li>Apples</li> <li>Bananas</li> <li>Cherries</li> < /ul> ); const root = ReactDOM.createRoot(document.getElementById('root')); root.render(myElement);
从上面的代码中可以看到,一个名为 myElement 的元素首先在根文件中声明并呈现。不过,除了在一个文件中渲染外,还可以从另一个文件中加载写入的元素。
首先,我修改了上述文件,并将其命名为 app.js。我还声明了一个名为 fruit.jsx 的组件,并声明了两次。
app.js
import React, { Component } from 'react'; import Fruit from './fruits'; class App extends Component { render() { return (
); } } export default App;
fruits.jsx
功能声明
import React from 'react'; const Fruit = (props) => { return this is {props.fruit_name}.
} export default Fruit;
類別宣告
import React from 'react'; class Fruit extends React.Component { render() { return (
this is {this.props.fruit_name}.
); } } export default Fruit;
这两种方法都可以用来传递道具,但现在使用函数声明更为常见,因为函数声明的编写相对简单。
React Components、 Component instance、 Elements 差异
- JSX 中的 React 元素由 HTML 元素和 JavaScript 组成。
- Component 是函数声明或类声明中的返回值。
- 组件实例即组件实现。
import React, { Component } from 'react'; const Fruit = (props) => { // Fruit() 为component return this is {props.fruit_name}.
// 里面的为element } const banana = // banana 为元件的实例component instance class App extends Component { render() { return (
{banana}
); } } export default App;
React Props
在父组件和子组件中,如果要传递参数值(类似于函数中的参数概念),可以使用道具来实现。不过,函数声明的组件与类声明的组件有一些不同之处。
功能
可以发现,函数声明与引用类似,因此在使用外部组件时,只要使用参数就可以导入,而函数组件本身只要使用道具就可以导入。
import React from 'react'; const Fruit = (props) => { return this is {props.fruit_name}.
} export default Fruit;
類別宣告
类本身是一种面向对象的编程语言概念,类拥有自己的变量,而道具则通过 { this.props.[variable name]} 传入。
import React from 'react'; class Fruit extends React.Component { render() { return (
this is {this.props.fruit_name}.
); } } export default Fruit;
结论
本文章将解释 React props 参数传递的概念,以及声明组件的不同方式。
它还解释了 React 组件、组件实例和元素之间的区别。
希望以上内容对读者有所帮助。
如果您有任何建议或问题,欢迎留言!
引用
React 白話文運動系列
构建 React 项目 - React Vernacular 活动 08
Babel & Webpack & NPM - React 白皮书活动 07
JavaScript 异步等待 - React 白话运动 03
JavaScript ES6 对象 - React 白皮书活动 02
JavaScript ES6 - React 白皮书活动 01