javascript - 如何在reactjs中按下按钮时将值传递给导入的模块
问题描述
首先,我是菜鸟。在我的项目中,我将一个名为“sms.js”的模块导入到“app.js”,我想要的是将文本区域的值传递给“sms.js”内的一个变量(var message_body),当我按下按钮。这是我正在使用的代码。
短信.js
var message_body = 'Value Passing Modules';
console.log(message_body);
应用程序.js
import React, { Component } from 'react';
import './App.css';
import Sms from './Sms/Sms';
class App extends Component {
smsHandler =() => {
Sms();
console.log('Sms Handler Function Testing');
}
render() {
return (
<div className="App">
<form>
<label>
Name:
<input type="text" name="body" />
</label>
</form>
<button onClick={this.smsHandler}>Click here</button>
</div>
);
}
}
解决方案
我认为您错过了 eventHandlers 的工作方式。它们在事件上触发,并接收一个事件对象作为输入。在这种情况下,您必须使用触发更改事件时出现的事件对象。
短信.js
// var message_body = 'Value Passing Modules';
// console.log(message_body);
export default function print(message) {
console.log('received message -- ', message);
}
应用程序.js
import React, { Component } from 'react';
import './App.css';
import Sms from './Sms/Sms';
class App extends Component {
smsHandler =(e) => {
Sms(e.target.value);
console.log('Sms Handler Function Testing');
}
render() {
return (
<div className="App">
<form>
<label>
Name:
<input type="text" name="body" />
</label>
</form>
<button onClick={this.smsHandler}>Click here</button>
</div>
);
}
}
请阅读有关事件处理程序的信息。
推荐阅读
- sqlite - 如何在 React Native SQLite 上捕获错误
- javascript - JavaScript 错误仅在 Firefox jQuery.Deferred 异常:变量名未定义
- django - 使用 RetrieveUpdateAPIView 更新数据 - 从序列化程序获取经过验证的数据
- ruby-on-rails - 当执行引发错误时,活动作业是否调用 after_perform?
- sql - 根据多个条件更新单个列中的多个值
- node.js - 附加到角色的 IAM 策略不起作用
- c# - Json对象的动态/解析
- mesos - 使用 MesosExecutor 在 Airflow 上自定义任务资源
- c# - 在客户端和服务器之间生成相同的 JOSE 令牌 (PHP-C#)
- c++ - 检查二维向量的特定模式