【发布时间】:2021-04-21 02:00:56
【问题描述】:
React 新手,这是非常基本的表单提交,但我在这里要做的是根据从输入接收的值创建数组,然后使用数组创建数组,但在 setState 之前还删除数组中的任何重复项。
import React, { Component } from 'react';
class Chase extends Component {
constructor(props) {
super(props);
this.state = {
value: ''
};
}
handleSubmit = (e) => {
e.preventDefault();
// Should I create array in the handlesubmit ?
};
handleChange = (e) => {
e.preventDefault()
let newspoo = e.target.value
let createArr= newspoo.split(' ')
let newVal = Array.from(new Set(createArr))
this.setState({ newVal}, () =>{
console.log(newVal)
});
// this works in console but on display I cannot see any values in the UI
};
render() {
const {value} = this.state
return (
<form onSubmit={this.handleSubmit}>
<div>
<label>
Name:
<input
type='text'
value={this.state.value}
onChange={this.handleChange}
/>
</label>
<input type='submit' value='Submit' />
</div>
<div>
<label>
Output :
{/* I am trying to print the new array here after submitting the form */}
</label>
<p>{value}</p>
</div>
</form>
);
}
}
export default Chase;
【问题讨论】:
标签: javascript arrays reactjs state setstate