我正在使用React.cloneElement,因为我想动态地打开模态上的组件。但是由于我想控制样式出现在模式中时的样式,因此决定使用cloneElement。我附上了一个CodeSand演示,它将大致描述我的代码。我的问题是我无法访问传递给克隆元素(在CodeSand example上称为“测试”)的道具。
任何想法为何? 我在这里想念什么?
答案 0 :(得分:0)
之所以会这样,是因为您用div
包装了组件,并且在映射Children
时,它将在div
元素上而不是Hello
组件中添加prop。
这是更新的代码:
import React from "react";
import { render } from "react-dom";
import Hello from "./Hello";
import Parent from "./Parent";
class App extends React.Component {
renderSomthing() {
return [<Hello />, <Hello />];
}
render() {
return <Parent>{this.renderSomthing()}</Parent>;
}
}
render(<App />, document.getElementById("root"));
工作沙箱:https://codesandbox.io/s/awesome-maxwell-cwt53?file=/index.js:0-343