我正在尝试通过另一个组件呈现一个按钮,以引用和/或影响另一个组件的状态。
var Inputs = React.createClass({
getInitialState: function(){
return {count: 1};
},
add: function(){
this.setState({
count: this.state.count + 1
});
},
render: function(){
var items = [];
var inputs;
for (var i = 0; i < this.state.count; i++){
items.push(<input type="text" name={[i]} />);
items.push(<br />);
}
return (
<div className="col-md-9">
<form action="/" method="post" name="form1">
{items}
<input type="submit" className="btn btn-success" value="Submit Form" />
</form>
</div>
);
}
});
我想编写一个新组件,该组件将能够访问Inputs中的add函数。我试图Inputs.add
像这样直接引用它:
var Add = React.createClass({
render: function(){
return (
<input type="button" className="btn" value="Add an Input" onClick={Inputs.add} />
);
}
});
但这没有用。如何通过另一个组件访问组件的功能,或者如何通过另一个组件影响组件的状态?谢谢。
您可以通过创建一个负责管理状态的父组件来完成此任务,然后将状态作为道具向下推到子组件。
/** @jsx React.DOM */
var Inputs = React.createClass({
render: function () {
var items = [];
var inputs;
for (var i = 0; i < this.props.count; i++) {
items.push( <input type="text" name={[i]} />);
items.push(<br />);
}
return (
<div className = "col-md-9">
<form action = "/" method = "post" name = "form1">
{items}
<input type="submit" className="btn btn-success" value = "Submit Form" />
</form>
</div>
);
}
});
var Add = React.createClass({
render: function () {
return (<input type = "button" className="btn" value="Add an Input" onClick={this.props.fnClick}/> );
}
});
var Parent = React.createClass({
getInitialState: function(){
return {count:1}
},
addInput: function(){
var newCount = this.state.count + 1;
this.setState({count: newCount});
},
render: function(){
return (
<div>
<Inputs count={this.state.count}></Inputs>
<Add fnClick={this.addInput}/>
</div>
);
}
});
React.renderComponent(<Parent></Parent> , document.body);
jsFiddle
问题内容: 我想调用一个在second.js文件的first.js文件中定义的函数。这两个文件都在HTML文件中定义,例如: 我想打电话给在定义中。根据我的搜索结果,答案是首先定义是否可以,但是根据我的测试,我没有找到任何方法。 这是我的代码: 问题答案: 除非在同一文件中定义了该函数,或者在尝试调用该函数之前已加载了该函数,否则无法调用该函数。 除非函数的范围与尝试调用该函数的范围相同或更大,否
问题内容: 我有一个数组和一个引用数组。的大小至少等于。例如 实际上是在指定时间信号中的峰值位置,并且包含稍后时间的峰值位置。但是某些元素实际上是不是我想要的峰(可能是由于噪声等),我想找到“真正的”一个基础。中的“真实”元素应与中的元素接近,在上面给出的示例中,中的“真实”元素应为。在这个例子中应该很明显不是我们想要的,因为它们与B中的任何元素都相去甚远。如何在python / matlab中以
我有两个组件,如下所示,我想从另一个组件调用一个函数。这两个组件都包含在第三个父组件 using 指令中。 构成部分1: 我尝试过使用和但我不知道如何使用它以及如何调用该函数,任何人都可以帮忙吗?
我使用Reavt V6路由。 我正在努力让我的路线在游戏组件中工作。 在完全空白的页面中查看/测试结果。而它应该在gamecomponent中加载犯罪模块。访问/呈现gamecomponent,但/test不会呈现gamecomponent及其内部的路由。 我怎样才能让它工作? 访问url/crime会导致被加载,并且 应该上膛了。 app.js 专用路线: 游戏成分:
问题内容: 我有这些父级和子级组件,我想通过点击功能在子级组件中选择一个项目。但是,似乎子组件中的函数会自动调用,而不是等到用户单击元素后才开始调用。为了更清楚一点,这里是我的父级和子级组件 这些是我使用箭头函数传递给子组件的组件,但是警报始终在第一次渲染时被调用,而不会被用户触发。有什么建议吗? 问题答案: 您应该将函数本身传递给,而不是传递的函数调用的结果。 如果要使用param调用它,则可以
问题内容: 我想在切换时更新状态,但在处理程序中未定义对象。根据教程文档,我应该引用该组件。我想念什么吗? 问题答案: ES6 React.Component不会自动将方法绑定到自身。您需要将它们自己绑定到构造函数中。像这样: