我的目标是在页面/父组件上动态添加组件。
我从这样的一些基本示例模板开始:
main.js:
var App = require('./App.js');
var SampleComponent = require('./SampleComponent.js');
ReactDOM.render(<App/>, document.body);
ReactDOM.render(<SampleComponent name="SomeName"/>, document.getElementById('myId'));
App.js:
var App = React.createClass({
render: function() {
return (
<div>
<h1>App main component! </h1>
<div id="myId">myId div</div>
</div>
);
}
});
SampleComponent.js:
var SampleComponent = React.createClass({
render: function() {
return (
<div>
<h1>Sample Component! </h1>
</div>
);
}
});
此处SampleComponent
已安装到<div id="myId"></div>
预写在App.js
模板中的节点上。但是,如果我需要向App组件中添加不确定数量的组件怎么办?显然,我不能将所有必需的
div都 坐在那里。
在阅读了一些教程之后,我仍然不了解如何动态创建组件并将其动态添加到父组件。有什么办法呢?
您需要以子代形式传递组件,如下所示:
var App = require('./App.js');
var SampleComponent = require('./SampleComponent.js');
ReactDOM.render(
<App>
<SampleComponent name="SomeName"/>
<App>,
document.body
);
然后将它们附加到组件的主体中:
var App = React.createClass({
render: function() {
return (
<div>
<h1>App main component! </h1>
{
this.props.children
}
</div>
);
}
});
您不需要手动操作HTML代码,React会为您完成。如果要添加一些子组件,则只需更改道具或声明其依赖。例如:
var App = React.createClass({
getInitialState: function(){
return [
{id:1,name:"Some Name"}
]
},
addChild: function() {
// State change will cause component re-render
this.setState(this.state.concat([
{id:2,name:"Another Name"}
]))
}
render: function() {
return (
<div>
<h1>App main component! </h1>
<button onClick={this.addChild}>Add component</button>
{
this.state.map((item) => (
<SampleComponent key={item.id} name={item.name}/>
))
}
</div>
);
}
});
问题内容: 如何在jpanel中动态添加组件?当我单击按钮时,我应该有添加按钮,组件应该添加到JPanel。 我的问题是,当我单击添加按钮时,将文本字段和按钮添加到jpanel时,用户可以根据需要将它们添加到jpanel中的任意次数单击添加按钮。我已将scrollerpane添加到我的jpanel,并且jpanel布局管理器设置为null。 问题答案: 像往常一样,除了必须调用: 完成后,因为容器
问题内容: 在我的应用程序中,组件必须动态更改。我有一个数据表,其中我有两列,首先是菜单中的a我有两个数据(数据分别为1和2),如果选择了1,则应出现a,如果选择了2,则应出现。需要帮助吗? 我的JSF 我的豆类 问题答案: 我的建议是:不要动态添加/删除组件。用另一种方法解决您的问题: 切换组件的 可见性 重新绑定属于组件的 数据 动态添加/删除组件始终是麻烦的源头,而且您有可能以另一种简单得多
问题内容: 我正在考虑构建一个Web应用程序,人们可以在其中安装插件。我希望插件能够定义将呈现到页面的React组件,而无需在安装插件后重新编译主JavaScript包。 所以这是我正在考虑的方法: 使用webpack 将主要的JavaScript与React作为外部库捆绑在一起。 也让插件作者使用React作为外部库来编译其组件。 这样,我只运行一个React实例。我可能可以对其他一些经常使用的
问题内容: 因此,我有一个数据数组,并且正在使用该数据生成组件列表。我想在每个生成的元素上都有一个引用来计算高度。我知道如何使用Class组件执行此操作,但是我想使用React Hooks进行操作。 这是一个说明我要做什么的示例: 问题答案: 不确定我是否完全理解您的意图,但我认为您需要这样的东西:
问题内容: 我一直在尝试找出如何通过React和Webpack动态添加图像。我在 src / images 下有一个图像文件夹, 在 src / components / index 下有一个组件。我正在将url-loader和以下配置用于webpack 在组件内,我知道可以在创建组件之前在文件顶部为特定图像添加 require(image_path) ,但我想使该组件通用,并使其具有一个属性,该
问题内容: 我正在尝试在表上添加事件。这是我尝试过的: 我尝试过,但得到的结果正确,但是滚动事件从未触发过。我看着这里,但还是失败了。任何帮助将不胜感激。 问题答案: 您需要将此绑定到上下文中的元素。