【发布时间】:2021-01-27 14:39:46
【问题描述】:
我正在尝试构建一个简单的待办事项应用程序,但是当我在表单的输入上单击提交时,页面刷新并且输入中的所有数据都被删除或丢失,我不确定。
控制台日志会出现片刻,然后在刷新后消失。带有待办事项列表的数组似乎充满了输入,但刷新后它消失了;或者至少这是我的理解。
import React from "react"
import './App.css'
import TodoList from './components/TodoList.js'
class App extends React.Component {
state = {
count:0
}
increment = () => {
this.setState({
count: this.state.count + 1
})
}
decrement = () => {
this.setState({
count: this.state.count -1
})
}
render(){
return(
<div className="App">
<TodoList/>
</div>
)
}
}
export default App
import React from "react"
import TodoForm from "./TodoForm"
export default class TodoList extends React.Component {
state = {
todos: []
};
addTodo = (todo) => {
this.setState({
todos: [todo]
});
};
render() {
return (
<div>
<TodoForm onSubmit={this.addTodo}/>
{JSON.stringify(this.state.todos)}
</div>
);
}
}
import React from "react"
import shortid from "shortid"
class TodoForm extends React.Component {
state = {
text: ""
}
handleChange = (event) =>{
this.setState({
[event.target.name]: event.target.value
})
}
handleSubmit = (event) => {
event.preventDefualt()
this.props.onSubmit({
id: shortid.generate(),
text: this.state.text,
complete: false
})
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit} >
<input
name="text"
value={this.state.text}
placeholder="todo..."
onChange={this.handleChange}
/>
</form>
</div>
)
}
}
export default TodoForm
【问题讨论】:
标签: javascript reactjs react-native