我是根据从父元素作为prop传递的ID从API获取数据。我把一切都运行得很好,除了当我尝试渲染数据时它没有显示任何东西。获取成功是因为ComponentWillReceiveProps中的console.log正好显示了我需要的内容。
代码:
redis.replicate_commands()
local t = redis.call('TIME')
return redis.call('ZADD', KEYS[1], tonumber(t[0]), ARGV[1])
ComponentDidMount中的{this.state.team2}可以正常工作,但是来自componentWillReceiveProps的{this.state.testTeam}没有,即使在console.log中它也存在。我在这里错过了一些简单的问题或问题是什么?谢谢你的帮助。
答案 0 :(得分:0)
使用localStorage让它工作。
componentWillReceiveProps(newProps) {
if (newProps.matchId !== this.props.matchId) {
fetch(matchAPI + newProps.matchId)
.then((matchResponse) => matchResponse.json())
.then((matchfindresponse) => {
console.log(matchfindresponse.team1.name);
console.log(this.props.matchId + ' ' + newProps.matchId);
this.setState({
testTeam:matchfindresponse.team1.name,
})
var team1 = localStorage.setItem('team1', matchfindresponse.team1.name);
var team2 = localStorage.setItem('team2', matchfindresponse.team2.name);
})
}
}