Ожидаемый результат: создать поддельный API -> вызвать функцию save
-> метод POST -> сохранить объект time
в this.state.resul
-> сохранить идентификатор задачи db.json 2
Я использую библиотеку Fake an API with JSON Server
.
db.json
{
"todos": [
{
"id": 1,
"title": "AAAA"
"results": [
{
"time": "09:10:01",
"desc": "bbbbb"
},
{
"desc": "gfgfgfgffg",
"time": "21:30:06"
}
]
},
{
"id": 2,
"title": "BBBBBBB",
"results": [
{
"time": "09:10:01",
"desc": "reerrererer",
},
{
"desc": "dfdfdfdfdfdfdfdfdfdfdf",
"time": "21:30:06"
}
]
}
}
Todos
class Todos extends Component {
constructor (props) {
super(props);
this.state = {
todos: []
}
}
componentDidMount() {
axios.get("http://localhost:3000/todos")
.then(response => {
this.setState({
todos: response.data
});
})
.catch(error => {
console.log('Error);
}
);
}
render () {
return(
)
}
}
export default Todos;
Секундомер
class StopWatch extends Component {
constructor() {
super();
this.state = {
resul: []
};
}
save = () => {
const resul = this.state.resul;
this.clock = {
clock: this.clock
}
resul.push(this.clock);
this.setState({
resul
});
axios.post(`http://localhost:4000/todos/2`, {
results: this.clock
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
}
render () {
return (
<ul className="results">
{
this.state.resul
.map((item, index) =>
<Time
key= {index}
/>
)
}
</ul>
);
}
}
export default StopWatch;