Think ‘React’ively

Make a simple app — Part I

class demo extends React.Component{}
class Parent extends React.Component{render(){return(<div><demo /></div>)}}ReactDOM.render(){<Parent/>,document.getElementById(‘myElement’);}
class Todo extends React.Component{render(){return(
<div>
<Save/>
<Display/>
</div>)}}class Save extends React.Component{render(){
return(
<div className=’input’>
<input type=’text’/>
<input type=’button’ value=’save’/>
</div>)}
}class Display extends React.Component{render(){return(<div></div>)}}ReactDOM.render(<Todo/>,document.getElementById(‘root’));
class Todo extends React.Component{
constructor(props){
super(props);
this.state={
input:''
}
}
render(){
return(
<div>
<Save text={this.state.input}/>
<Display/>
</div>)
}
}
class Save extends React.Component{
constructor(props){
super(props);
this.state={
input:this.props.text
}
}
render(){
return(
<div className=’input’>
<input type=’text’ value={this.state.input}/>
<input type=’button’ value=’save’/>
</div>)}
}
class Display extends React.Component{
render(){
return(<div></div>)
}
}
ReactDOM.render(<Todo/>,document.getElementById(‘root’));
class Save extends React.Component{
constructor(props){
super(props);
this.state={
input:this.props.text
}
this.changeText=this.changeText.bind(this);

}
changeText(e){
this.setState({
input:e.target.value
})
}
render(){
return(
<div className=’input’>
<input type=’text’ value={this.state.input} onChange={this.changeText}/>
<input type=’button’ value=’save’ onClick={this.addtoTodo}/>
</div>
)
}
}
class Todo extends React.Component{
constructor(props){
super(props);
this.state={
input:’’,
list:[]
}
this.addTodo=this.addTodo.bind(this);
}
addTodo(savetext){
var list=this.state.list;
list.push(savetext);
this.setState({
list:list
})
//console.log(list);
}
render(){
return(
<div>
<Save text={this.state.input} saveText={this.addTodo}/>
<Display/>
</div>
)
}
}
class Save extends React.Component{
constructor(props){
super(props);
this.state={
input:this.props.text
}
this.changeText=this.changeText.bind(this);
this.addtoTodo=this.addtoTodo.bind(this);
}
changeText(e){
this.setState({
input:e.target.value
})
}
addtoTodo(){
this.props.saveText(this.state.input);
this.setState({
input:’’
})
}
render(){
return(
<div className=’input’>
<input type=’text’ value={this.state.input} onChange={this.changeText}/>
<input type=’button’ value=’save’ onClick={this.addtoTodo}/>
</div>
)
}
}
class Todo extends React.Component{

render(){
return(
<div>
<Save text={this.state.input} saveText={this.addTodo}/>
<Display display={this.state.list}/>
</div>
)}
}
class Display extends React.Component{
constructor(props){
super(props);
}
render(){
return(
<div>{this.props.display}</div>
)}
}
class Display extends React.Component{
constructor(props){
super(props);
this.state={
todos:[]
}
}
componentWillReceiveProps(nextProps){
this.setState({
todos:nextProps.display
})
}
render(){
var i=1;
var renderList=this.state.todos.map((name) =>{
return <div key={i++}>{i-1}. {name}</div>;}
);

return(
<div>{renderList}</div>
)
}
}
var renderList=this.state.todos.map(
function(name){
return <div key={i++}>{i-1}. {name}</div>
})

Another woman in Tech