|
|
|
|
@ -10,33 +10,48 @@ class App extends React.Component {
|
|
|
|
|
this.state = { message: "" }; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleChange = event => { |
|
|
|
|
console.log(event.target.value); |
|
|
|
|
// handleChange = event => {
|
|
|
|
|
// let newMessage = event.target.value;
|
|
|
|
|
// this.setState({ message: newMessage });
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
handleChange(event) { |
|
|
|
|
let newMessage = event.target.value; |
|
|
|
|
this.setState({ message: newMessage }); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
handleDelete(index) { |
|
|
|
|
let newSplited = [...this.state.splited] |
|
|
|
|
let newMessage = [...this.state.message]; |
|
|
|
|
let newSplited = newMessage.toString().split(","); |
|
|
|
|
newSplited.splice(index, 1); |
|
|
|
|
newMessage = newSplited.join(""); |
|
|
|
|
this.setState({ message: newMessage }); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
render() { |
|
|
|
|
const input = ( |
|
|
|
|
// <input onChange={this.handleChange.bind(this)} /> // --> this works
|
|
|
|
|
<input onChange={event => this.handleChange(event)} /> // --> but this is better
|
|
|
|
|
// <input onChange={this.handleChange.bind(this)} value={this.state.message} /> // --> this works
|
|
|
|
|
<input type="text" onChange={event => this.handleChange(event)} value={this.state.message} /> // --> but this is better
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
let splited = this.state.message.split(""); |
|
|
|
|
console.log("splited", splited); |
|
|
|
|
|
|
|
|
|
const charList = splited.map((item, index) => { |
|
|
|
|
return ( |
|
|
|
|
<Char |
|
|
|
|
key={index} |
|
|
|
|
string={item} |
|
|
|
|
click={() => this.handleDelete(index)} |
|
|
|
|
/> |
|
|
|
|
); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
<div className="App"> |
|
|
|
|
<h1>{this.state.message}</h1> |
|
|
|
|
{input} |
|
|
|
|
<Validation length={this.state.message.length} /> |
|
|
|
|
{splited.map((item, index) => { |
|
|
|
|
return <Char key={index} string={item} /> |
|
|
|
|
})} |
|
|
|
|
{charList} |
|
|
|
|
</div> |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|