我需要将响应中的数据存储在state中。一旦进行了axios调用并返回了一些数据,就会调用useEffect函数,并导致任务列表数组被填充。然后可以对其结果进行迭代并在前端显示。
import{ useEffect, useState} from 'react'
import axios from 'axios';
function Todo() {
const [toDos,setToDos] =useState([])
function HandleSubmit(e) {
e.preventDefault();
let request ={
list : toDos
}
let taskList = axios.post('http://localhost:8080/Todo',request)
.then(resp=>{
alert(resp.data.message);
})
.catch( err=>{
console.log(err);
})
const [tasks,setTasks] = useState([]);
useEffect(()=>{
setTasks(taskList);
},[taskList]);
}
return (
<div >
<h1>ToDo List</h1>
<form onSubmit={HandleSubmit}>
<input type="text" placeholder=" Add item..." name="list" value={toDos} onChange={(e)=>setToDos(e.target.value)}/>
{tasks.map(()=>{
return(
<div>
<h1>{tasks}</h1>
</div>
)
})}
<button id="btn" type="submit">Add</button>
</form>
</div>
);
}
export default Todo;
节点码
第一次
这是一个错误,任何人都可以帮助
1条答案
按热度按时间q1qsirdb1#
在组件级定义状态和并删除
useEffect
。不要在功能级定义状态和效果然后设置
then
中的值