我不确定这是否是个问题,但我在这个问题上苦苦挣扎。我试图创建一个简单的示例来发布我的项目:
https://codepen.io/as3script/pen/VMbNdz?editors=1111
该示例上有四个按钮。
要重现该问题,请按前三个按钮中的每个按钮以从中创建文本输入并输入一个值。例如,在第一个输入100,在第二个输入200,第三个输入300。现在按第四个按钮删除第一个输入。
它应该将第二和第三保持其各自的值200和300,但相反,它在第二和第二显示100。
此代码与CodePen上的代码相同,只是不允许在没有此链接的情况下发布链接。
class ButtonComponent extends React.Component {
constructor(props) {
super(props);
this.state = {filtersArr:[]}
this.addButtons = this.addButtons.bind(this);
this.removeButtons = this.removeButtons.bind(this);
this.getInput = this.getInput.bind(this);
this.onChangeHandler = this.onChangeHandler.bind(this);
}
addButtons(e){
let tempArr = this.state.filtersArr;
tempArr.push({comp:this.getInput(e.target.id), id:e.target.id});
this.setState({filtersArr:tempArr});
}
removeButtons(e){
console.log(e.target.id);
let newArr = this.state.filtersArr.filter((filter)=>{
return (filter.id !=='FirstButton')
})
this.setState({filtersArr:newArr});
}
onChangeHandler(e){
console.log(e.target.value);
}
getInput(id){
return (
<div>
<h6>{id}</h6>
<input
id="min"
type="text"
placeholder="min"
onChange={this.onChangeHandler}/>
</div>
)
}
render() {
let styles = {
display:'inline-block'
}
return (
<div>
<p>Add three buttons and enter the number in each input, and remove amt.</p>
<button id="FirstButton" onClick={this.addButtons}>FirstButton</button>
<button id="SecondButton" onClick={this.addButtons}>SecondButton</button>
<button id="ThirdButton" onClick={this.addButtons}>ThirdButton</button>
<button id="FirstButton" onClick={this.removeButtons}>Remove firstButton</button>
<ul>
{this.state.filtersArr.map((filter, index)=>{
return <li style={styles} key={index}>{filter.comp}</li>
})
}
</ul>
</div>
);
}
}
ReactDOM.render(
<ButtonComponent/>,
document.getElementById('root')
);
问题内容: 我试图建立一个适当的反应输入复选框,选择所有组件。想法是有一个组件,并且我可以检查,所有组件也都将被选中。 我有两个问题。 如果选中,则无法取消选择任何一个。 如果已全部选中,则应进行检查。 这是例子。 问题答案: 我认为可能会对您的实现进行一些修改,以便以更具 React风格的 形式获得所需的结果。 首先要取消的是复选框类和该类的prop 。复选框是一个相对愚蠢的元素,它不应该了解诸
我已经用ReactJS和ES6进行了几天的实验,并创建了两个组件,即
问题内容: 我面临一个相当愚蠢的问题。我正在创建我的第一个React应用程序,遇到一个小问题,提交表单后,我无法清除输入值。尝试谷歌搜索此问题,在这里找到了一些类似的线程,但我无法解决。我不想更改组件/应用程序的状态,而只是将输入的值更改为空字符串。我尝试清除函数中输入的值,但出现错误: “无法设置未定义的属性’值’”。 我的SearchBar组件: 问题答案: 您有一个受控组件,其值由决定。因此
我目前有我的项目文件夹 在我的主页组件中,我试图将整个配置文件目录导入这样一个对象(根据需要动态加载每个组件,但并非所有组件都将加载) 而且 但是我在编译器中得到一个错误,说模块未找到:无法解析“/轮廓 我想明确说明,配置文件是一个包含组件的文件夹,我想在我的app.js文件中选择所有要动态调用的组件。 为什么会这样?
我遇到了一个奇怪的错误,我的搜索输入组件,它失去了对每个按键的关注,不知道为什么。 我还得到了一个
问题内容: 我有以下反应成分 我该如何在rxjs上使用反跳功能? 问题答案: 您将需要从更改事件中爬出可观察到的位置(例如使用Subject),然后对此进行反跳。 这是为您提供功能齐全的示例:
我必须发布{输入}数据以http://localhost:4000/predictionAxios。但是{输入}变为未定义。 我使用const而不是类Main扩展组件. onChange,它设置表单数据。 阿希奥斯邮报。 返回(表单)时带有onSubmit、onChange。
问题内容: React建议转移道具。整齐! 我如何转移除一个以外的所有东西? 问题答案: 您可以使用以下技术来消耗一些道具并传递其余的道具: 资源