1
0
Fork 0
mirror of https://github.com/docker/awesome-compose.git synced 2025-04-26 10:43:35 +02:00

Sample React-Express-MongoDB (#59)

Signed-off-by: Afzal <sah.afzal@gmail.com>
This commit is contained in:
Syed Afzal 2020-05-12 00:40:39 +05:00 committed by GitHub
parent 3599a2e685
commit 2f750eb4f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 18779 additions and 0 deletions

View file

@ -0,0 +1,56 @@
import React from 'react';
import {request} from './utilities/httpRequestHandler'
import './App.scss';
import AddTodo from "./components/AddTodo";
import TodoList from "./components/TodoList";
export default class App extends React.Component{
constructor(props){
super(props);
this.state = {
todos: []
}
}
componentDidMount() {
request('get','/api')
.then((response) => {
this.setState({
todos: response.data.data
})
}).catch((e) => console.log('Error : ', e))
}
_handleAddTodo = (value) => {
request('post', '/api/todos', {text:value})
.then((response) => {
let todosCopy = this.state.todos;
todosCopy.unshift({text:value});
this.setState({
todos : todosCopy
});
this.refs.todo.value = ""
}).catch((e) => console.log('Error : ', e));
};
render() {
return (
<div className="App container">
<div className="container-fluid">
<div className="row">
<div className="col-xs-12 col-sm-8 col-md-8 offset-md-2">
<h1>Todos</h1>
<div className="todo-app">
<AddTodo handleAddTodo={(value) => {this._handleAddTodo(value)}}/>
<TodoList todos={this.state.todos}/>
</div>
</div>
</div>
</div>
</div>
);
}
}