【发布时间】:2017-09-19 03:44:01
【问题描述】:
我正在尝试从渲染视图中的道具获取值。
我从我的数据库中获取电子商务商店数据。
componentWillMount(){
this.props.dispatch(fetchStore())
}
此操作有效并返回数据。
这是我的控制台日志
<FormGroup>
<Label htmlFor="name">Name *</Label>
<div className="controls">
<InputGroup>
<Input id="name" size="16" type="text" value={this.props.store.store.name} />
</InputGroup>
</div>
</FormGroup
我认为我的视图在我的调度员完成收到请求之前得到渲染。
我知道这一点,因为当我控制台记录我的渲染中的道具时,我得到了这个。
//Inside my render()
console.log(this.props.store)
这个输出。
第一次道具商店未定义,但一旦 redux 商店重新渲染,我就会获得电子商务商店数据。
我想知道如何让我的渲染在渲染前等待我的数据完成请求。
这是我做错事时的行为。
我正在使用 redux-thunk 中间件来实现承诺。
import axios from 'axios'
export function fetchStore() {
return function(dispatch) {
axios.get('http://localhost:5000/_Store/Details')
.then((res) => {
dispatch({type: 'FETCH_STORE_FULFILLED', payload: res.data})
})
.catch((err) => {
dispatch({type: 'FETCH_STORE_REJECTED', payload: err})
})
}
}
【问题讨论】:
标签: reactjs redux react-redux