📜  如何使用 React.cloneElement()函数?

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

如何使用 React.cloneElement()函数?

当父组件想要添加或修改其子组件的 props 时,我们可以使用 React.cloneElement() 方法。 React.cloneElement()函数创建给定元素的克隆,我们也可以在函数中传递 props 和 children。

结果元素将初始元素的道具与新道具浅混合。现有的孩子将被新的孩子取代。原始元素的键和引用将被保留。

句法:

React.cloneElement(
 element,
 [props],
 [...children]
)

第一个参数是我们要克隆的元素。第二个参数将是我们要与元素一起添加的其他道具。第三个参数将是克隆元素的子元素,现有元素的子元素不会被复制到克隆元素中。

使用 React.cloneElement() 克隆元素几乎与以下内容相同:


   {new_children}

但是,它也保留了 refs。这意味着如果您有一个孩子,您不会无意中从您的祖先那里窃取 ref。相同的 ref 将分配给您的新元素。

创建反应应用程序:

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

    npx create-react-app foldername
  • 第 2 步:创建项目文件夹(即文件夹名称)后,使用以下命令移动到该文件夹:

    cd foldername

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

App.js:现在在App.js文件中写下以下代码。在这里,App 是我们编写代码的默认组件。

App.js
import React from 'react';
class App extends React.Component {
  render() {
    return (
      
        
    )
  }
}
  
export default App


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

npm start

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

说明:从上面的代码中我们可以看到,父组件正在使用 React.cloneElement() 方法将文本颜色的新道具添加到子 (Button) 组件。