Reactjs 状态更改时组件未更新

Reactjs 状态更改时组件未更新,reactjs,Reactjs,这是我第一次在没有JSX的情况下使用React,所以我可能犯了一个明显的错误,但我似乎不明白为什么我的组件没有更新 我在componentDidMount中发出一个xhr请求,并尝试将this.state.isLoading设置为false。这将导致在xhr请求完成后删除加载消息 这是我的密码: 从“React”导入React “超级代理”的导入请求 导出类SurveyList扩展React.Component{ 构造函数(){ 超级() 此.state={ 错误:false, 调查:[], 孤

这是我第一次在没有JSX的情况下使用React,所以我可能犯了一个明显的错误,但我似乎不明白为什么我的组件没有更新

我在
componentDidMount
中发出一个xhr请求,并尝试将
this.state.isLoading
设置为false。这将导致在xhr请求完成后删除加载消息

这是我的密码:

从“React”导入React
“超级代理”的导入请求
导出类SurveyList扩展React.Component{
构造函数(){
超级()
此.state={
错误:false,
调查:[],
孤岛加载:正确
}
}
组件安装(){
要求
.post(“/调查”)
.set('accept','json')
.end((错误、恢复)=>{
如果(err)this.state.error=err
this.state.isLoading=false
})
}
渲染(){
const items=this.state.surveys.map(survey=>React.createElement('li',survey))
const loading=React.createElement('p',null,'loading…'))
const list=React.createElement('ul',null,items)
返回this.state.isLoading?加载:列表
}
}
我这样说:

const surveyListElem=document.getElementById('survey-list'))
如果(调查){
ReactDOM.render(
React.createElement(SurveyList),
测量柱
)
}

直接设置状态将无效。您需要使用
setState()
来触发重新渲染。

直接设置状态将无效。您需要使用
setState()
来触发重新渲染。

我的荣幸!:)我的荣幸!:)