我正在尝试使用reddit.json创建一个HackerNews
我正在获取重新生成数组的数据,并将其存储在变量中
就目前而言,我只能访问伪造的json数据:
results= [
{'author' : Mister1,'url':'http://url1.com','score':400},
{'author' : Mister2,'url':'http://url2.com','score':350},
{'author' : Mister3,'url':'http://url3.com','score':500},
{'author' : Mister4,'url':'http://url1.com','score':456},
]
因此,当我更改要在栏中搜索的主题时,状态正在改变并且我正在获取所需的内容,我的问题是视图未更新并按旧结果显示样式
我认为问题出在我的渲染代码中:
const list = (
results
&&
results[searchKey]
&&
results[searchKey].hits
) || [
{'author' : Mister1,'url':'http://url1.com','score':400},
{'author' : Mister2,'url':'http://url2.com','score':350},
{'author' : Mister3,'url':'http://url3.com','score':500},
{'author' : Mister4,'url':'http://url1.com','score':456},
]
即使结果正在更改,它的样式也与假json数据一样。
我的代码:https://codesandbox.io/embed/mqpjrk3loy
对不起,我的问题很愚蠢。
答案 0 :(得分:0)
我可能是错的,但我认为可能是||。操作员。您是否尝试过三元运算符?
{results ? results[searchKey].hits : ' // your hardcoded data '}
答案 1 :(得分:0)
如果我理解正确,则您也尝试将list
的变量设置为results[searchKey].hits
,这与您的this.state.results
的形状错误
您真正想要的是:
(results && results.results) || HARDCODED_FALLBACK_DATA