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:
parent
3599a2e685
commit
2f750eb4f7
43 changed files with 18779 additions and 0 deletions
56
react-express-mongodb/frontend/src/App.js
vendored
Normal file
56
react-express-mongodb/frontend/src/App.js
vendored
Normal 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>
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue