📜  React 中的这三个点 (...) 有什么作用?

📅  最后修改于: 2022-05-13 01:56:50.347000             🧑  作者: Mango

React 中的这三个点 (...) 有什么作用?

被称为 Spread 语法的三点 (...) 符号长期以来一直是 React 的一部分,当时它可以通过转译使用,尽管它已作为 ES2015 语法的一部分成为 JavaScript 的一部分。

Spread 语法用于将数组或对象解构为单独的变量,其中可能不知道数组中元素的确切数量,或者当我们希望将一个属性或一组属性与整个对象分开时。

可以使用扩展语法执行以下操作:

1. 传递属性:一个对象可以直接传递给一个组件,而不用单独传递对象中的每个数据值。

values:{
    height: 20,
    width: 10
}



// This same as the following:

2.继承一个对象:当创建一个继承另一个对象的新对象时,我们可以使用Spread语法来继承父对象。

object1:{
    a: 10,
    b: 20
};

object2:{
    ...object1,
    c: 14
};

3.连接数组:我们还可以使用Spread语法连接数组,如下所示。

var first =[1, 2, 3];
var second = [2, 3, 4, 5];
var third = [...first, ...second];

4. 解构数组:也可以使用扩展语法将数组解构为单独的组件。

var original = [1,2,3,4,5,6,7];
var [first, ...remaining] = original;

// Therefore the following will be the values of first and remaining.
first = [1]  
remaining = [2,3,4,5,6,7]

创建 React 应用程序并安装模块:

  • 第 1 步:使用以下命令创建一个 React 应用程序:

    npx create-react-app spread-syntax-demo
  • 第 2 步:创建项目文件夹后使用以下命令移动到该文件夹:

    cd spread-syntax-demo

项目结构:它将如下所示。

示例:在 App.js 文件中,我们将创建一个对象,从中创建一个子对象,然后将其作为属性传递给组件。

App.js
import React from 'react';
import Image from './Image.jsx';
  
function App(props) {
  const originalImage = { src:
"https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_200x200-min.png",
    alt:"This is a random image"
  };
  
  const formattedImage = {
    ...originalImage,
    height:300,
    width: 300
  }
  return (
    
           
  ); }    export default App;


Image.jsx
import React from 'react';
  
function Image(props) {
    return (
        
                     
    ); }    export default Image;


在 Image.jsx 中,我们使用扩展语法将 props 传递给 HTML img 标签。

图片.jsx

import React from 'react';
  
function Image(props) {
    return (
        
                     
    ); }    export default Image;

运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:

npm start

输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出: