javascript-从输入中获取价值并在按钮上使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-从输入中获取价值并在按钮上使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2128字,纯文字阅读大概需要4分钟。
内容图文
![javascript-从输入中获取价值并在按钮上使用](/upload/InfoBanner/zyjiaocheng/663/984cf1cbb48447e181d7941aef29fb03.jpg)
我正在使用输入元素和按钮元素创建组件.
例如,我需要获取输入值并与按钮一起使用.我怎样才能做到这一点?
这是我的代码:
var InputSearch = React.createClass({
getInitialState: function() {
return {
value: 'pics'
}
},
handleChange: function() {
this.setState({
value: event.target.value
});
},
render: function() {
return (
<input type="text" value={this.state.value} onChange={this.handleChange} />
)
}
});
var ButtonSearch = React.createClass({
handleClick: function(event) {
console.log(this.state.value); // here's go the input value
},
render: function() {
return (
<button onClick={this.handleClick}>GO! </button>
)
}
});
var Search = React.createClass({
render: function() {
return (
<div>
<InputSearch />
<ButtonSearch />
</div>
)
}
});
React.render(
<Search />,
document.getElementById('result')
);
解决方法:
这里的一个问题是您违反了一个好的规则-分离智能组件和哑组件. https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0
做到这一点的方法是拥有一个父组件,该组件拥有子组件的所有状态和功能,并将所有这些作为道具传递下来.
//Our smart parent
var SearchContainer = React.createClass({
getInitialState : function() {
return {
value : 'pics'
}
},
handleInput : function(event) {
this.setState({value: event.target.value});
},
render : function() {
return (
<div>
<InputSearch value={this.state.value} onChange={this.handleInput} />
<ButtonSearch value={this.state.value} />
</div>
)
}
});
//Our dumb children
var InputSearch = React.createClass({
propTypes : {
onChange : React.PropTypes.func.isRequired,
value : React.PropTypes.string
},
render : function() {
return (
<input type="text" value={this.props.value} onChange={this.props.onChange} />
)
}
});
var ButtonSearch = React.createClass({
propTypes : {
value : React.PropTypes.string
},
handleClick : function() {
console.log(this.props.value); //log value
},
render : function() {
return (
<button onClick={this.handleClick}>GO! </button>
)
}
});
React.render(<Search />, document.getElementById('result'));
在这里,我们将处理函数从父级传递到子级,因此输入并不关心更改时触发的事件发生什么,它只需要知道它有一个名为onChange的道具即该函数就可以调用它.
父级(SearchContainer)处理所有这些功能,并将更改后的状态向下传递给按钮和输入.
希望能有所帮助
担
内容总结
以上是互联网集市为您收集整理的javascript-从输入中获取价值并在按钮上使用全部内容,希望文章能够帮你解决javascript-从输入中获取价值并在按钮上使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。