getList(){ return (dispatch) => { axios.get("https://cnodejs.org/api/v1/topics").then((res) => { dispatch({ type: "GETDATA", payload: resizeBy.data.data }) }) } } 哪里有错
时间: 2024-02-10 10:18:27 浏览: 81
这段代码有一个错误,payload 属性中的 `resizeBy.data.data` 应该是 `res.data.data`,因为返回的数据保存在 `res` 对象中,而不是 `resizeBy` 对象中。因此,正确的代码应该是:
```
getList() {
return (dispatch) => {
axios.get("https://cnodejs.org/api/v1/topics").then((res) => {
dispatch({
type: "GETDATA",
payload: res.data.data
})
})
}
}
```
这样就可以正确地将获取到的数据传递给 reducer 进行 state 更新了。
相关问题
getList(){ return (dispatch) => { axios.get("https://cnodejs.org/api/v1/topics").then((res) => { dispatch({ type: "GETDATA", payload: resizeBy.data.data }) }) } }
这段代码是一个 Redux 中的 action creator,用于获取数据并更新 Redux store 中的 state。它是一个异步操作,使用了 axios 库发送 GET 请求获取数据,并使用 Redux 的 dispatch 函数触发一个 action,将获取的数据作为 payload 传递给 reducer 进行 state 更新。其中,type 属性表示 action 的类型,payload 属性表示传递给 reducer 的数据。具体来说,这个 action 会触发一个 GETDATA 类型的 action,将获取的数据作为 payload 传递给 reducer。
def main(): #随着url末尾page的变化,可以对应不同的直播数据,每页实际上存放了20个人的数据,一共有47页有余。 depth = 48 info_list = [] for i in range(1, depth): try: url = "https://api.live.bilibili.com/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=9&area_id=0&sort_type=sort_type_291&page=" + str( i) #我们需要获取主播名称以及观看人数的对应信息。 #打开f12,切换到Network界面并使用f5刷新,找到与主播信息对应的网页url。 #虚拟分区https://api.live.bilibili.com/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=9&area_id=0&sort_type=sort_type_291&page= #单机分区https://api.live.bilibili.com/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=6&area_id=236&sort_type=online&page= html = getHTMLList(url) parsePage(html, info_list) print("正在获取第{}页信息".format(i)) except: continue printStockList(info_list)
这段代码是主函数,其主要作用是通过调用其他函数逐页获取B站直播信息,并将这些信息保存到Excel文件中。具体来说,它首先设定了要获取的页数depth为48,然后通过for循环逐页获取直播信息。在每一页的信息获取过程中,它会调用getHTMLList函数获取网页HTML代码,然后调用parsePage函数解析HTML代码获取主播名称和观众信息,最后将这些信息添加到info_list中。当所有页的信息都获取完毕后,它会调用printStockList函数将info_list中的信息保存为Excel文件。如果在获取信息的过程中发生错误,程序会忽略该页并继续执行下一页。
阅读全文