Just trying out Promises for the first time in React. I have a basic promise working (ripped from someone else\'s code), but don\'t know how to adapt it to be useful.
Wh
You are using React in a wrong way. A Promise is designed to return result at a later point of time. By the time your promise has been resolved or rejected, your render would have finished execution and it wont update when the promise completes.
render method should only depend on props and/or state to render the desired output. Any change to prop or state would re-render your component.
Promise should go in the life cycle of the component(here)In your case i would do the following
Initialize an state inside your constructor(ES6) or via getInitialState
constructor(props) {
super(props);
this.state = {
name: '',
};
}
Then on componentWillMount or componentDidMount which ever suits you, call the promise there
componentWillMount() {
var promise = new Promise( (resolve, reject) => {
let name = 'Paul'
if (name === 'Paul') {
resolve("Promise resolved successfully");
}
else {
reject(Error("Promise rejected"));
}
});
let obj = {newName: ''};
promise.then( result => {
this.setState({name: result});
}, function(error) {
this.setState({name: error});
});
}
Then in render method write something similar to this.
render() {
return (
Hello World
{this.state.name}
);
}