reactjs - 如何在 React JS 中的另一个函数中从一个函数中分配一个变量的值
问题描述
class App extends React.Component {
constructor (props) {
super(props);
this.state ={val:'test'}
}
change(e){
let valueOfInput = e.target.value;
}
submit(ev){
ev.preventDefault();
alert(valueOfInput)
}
render() {
return(
<div>
<form action="">
<input onChange={this.change.bind(this)} type="text" value={this.state.val}/>
<input onClick={this.submit.bind(this)} type="submit" value='submit'/>
</form>
</div>
)
}
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.1/umd/react-dom.production.min.js"></script>
<div id="root"> </div>
alert
从sumbit()
函数中发送输入的值。所以,我想从输入中获取值,将其保存在变量valueOfInput
中,然后在函数的警报中发送该值submit
。如何在 ReactJs 中实现这一点?
解决方案
使用状态怎么样!!
setState()
将组件状态的更改排入队列,并告诉 React 该组件及其子组件需要使用更新的状态重新渲染。这是您用来更新用户界面以响应事件处理程序和服务器响应的主要方法。
class App extends React.Component {
constructor (props) {
super(props);
this.state ={valueOfInput:''}
}
change(e){
valueOfInput = e.target.value;
this.setState({valueOfInput});
}
submit(ev){
ev.preventDefault();
alert(this.state.valueOfInput)
}
render() {
return(
<div>
<form action="">
<input onChange={this.change.bind(this)} type="text" value={this.state.valueOfInput}/>
<input onClick={this.submit.bind(this)} type="submit" value='submit'/>
</form>
</div>
)
}
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
快乐编码!!!希望这可以帮助。
推荐阅读
- python-2.7 - Paramiko 在某些 llinux 设备上挂在 stdout.readlines() 上,但在其他设备上工作正常
- asp.net-mvc - 如何制作 linq lambda 表达式并动态设置要在表达式中使用的表?
- java - Java中if条件中的编译错误
- javascript - 通过以编程方式更改的输入触发需要事件的 onChange
- r - 从 pmap 转换为 pmap_dfr purrr 时使用列表名称作为行名称
- typescript - 具有一个且只有一个属性的对象的类型
- javascript - 如何修复文件javascript中不存在名称“ViewBag”
- sql-server - 为什么“sys.sql_expression_dependencies”对 Azure 数据仓库中的存储过程没有任何参考?
- html - 如何在旋转图像上进行叠加
- django - Django ORM中F表达式的逻辑或