Всякий раз, когда я пытаюсь извлечь мои результаты из компонента componentWillMount, приложение сначала выводит render(), а затем попадает в компонент componentWillMount, извлекает мои результаты, устанавливает состояние, а затем снова отображает рендеринг.Почему моя функция рендеринга работает до моего компонентаWillMount
componentWillMount=() => {
let team = gh.getRepo('Microsoft', 'vscode');
team.getContributors(function(err, members){
}).then(response => {
this.setState({
data: response.data
});
});
}
render() {
var ghList = this.state.data;
const names = ghList.map(name => { //when it runs the first time this map in invalid since ghList is null from my this.setState= {data:null}
})
return (
<div className="flip-container" onClick={this.onTileClick}>
<div className="flipper">
<div className="front">
<img className="circle" src={this.state.avatar_url} alt={this.state.login}/>
</div>
<div className="back">
</div>
</div>
</div>
)
У вас есть jsfiddle или что-то, что мы пытаемся? –
Рекомендуется использовать вызовы AJAX из компонента componentDidMount. См. Http://stackoverflow.com/questions/27139366/why-do-the-react-docs-recommend-doing-ajax-in-componentdidmount-not-componentwi – ryandrewjohnson
Сделано изменение спасибо Я добавлю это в свои заметки разработчика , – pcproff