Чтобы sms.js мог получать и обрабатывать некоторые данные, он должен экспортировать функцию, чтобы другие модули могли видеть и использовать ее.
sms.js
var message_body = '';
export default function processMessage(msg) {
message_body = msg;
console.log(`Received message: ${msg}`);
}
Чтобы получитьЗначение ввода при щелчке, объект event
передается в функцию обработчика щелчка inputValueChange, которая содержит текст через event.target.value
.Как только мы установим этот текст в состояние, всякий раз, когда мы нажимаем кнопку, мы читаем текст ввода из состояния и отправляем его в наш модуль SMS.
app.js
import React, { Component } from 'react';
import './App.css';
import SMS from './Sms/Sms';
class App extends Component {
constructor(props) {
super(props);
this.smsHandler = this.smsHandler.bind(this);
this.inputValueChange = this.inputValueChange.bind(this);
this.state = {
inputValue: ""
};
}
smsHandler() {
SMS(this.state.inputValue);
console.log('Sms Handler Function Testing');
}
inputValueChange(e) {
this.setState({ inputValue: e.target.value });
}
render() {
return (
<div className="App">
<form>
<label>
Name:
<input type="text" name="body" value={this.state.inputValue} onChange={this.inputValueChange} />
</label>
</form>
<button onClick={() => { this.smsHandler(); } }>Click here</button>
</div>
);
}
}