Я новичок в реакции. Я использую два текстовых поля, одно из которых позволяет пользователю вводить число и отображать его квадрат, а другое - вводить имя пользователя, а при нажатии кнопки отправки должно появиться окно с предупреждением, говорящее имя пользователя. Я могу создать квадрат, но оповещение не работает должным образом.
Это HTML и CSS:
class EssayForm extends React.Component {
constructor(props) {
super(props);
this.state = {
value: '',
fname:'',
};
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
this.setState({fname: event.target.fname});
}
handleSubmit(event) {
event.preventDefault();
alert('Hello: ' + this.state.fname);
}
render() {
return (
<div className="example">
<form onSubmit={this.handleSubmit}>
<span>Square of:</span>
<input type="text" value={this.state.value} onChange={this.handleChange} />
<span>First name:</span>
<input type="text" value={this.state.fname} />
<input type="submit" value="Submit" />
</form>
<div className="preview">
<h1>Square of no is</h1>
<div>{this.state.value * this.state.value}</div>
</div>
</div>
);
}
}
ReactDOM.render(<EssayForm />, document.getElementById('app'));
.example {
font-family: 'Open Sans', sans-serif;
display: flex;
padding: 20px;
form {
display: flex;
align-items: flex-start;
margin-right: 50px;
* {
margin-right: 10px;
}
}
h1 {
font-size: 20px;
font-weight: bold;
}
.preview {
white-space: pre;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="app"></div>
Помогите мне создать окно предупреждения с введенным именем пользователя.
this.state.fname
наevent.target.fname
, которого не существует и поэтому он не определен. Текущий код: codesandbox.io/s/shy-grass-hkvkz - person Chris G   schedule 07.08.2019