【发布时间】:2021-02-11 22:15:54
【问题描述】:
我正在尝试根据我的端点 API 组织我的代码顺序以将 feed 处理为 feed.*,但是 react 不允许我直接将函数发送到组件中,但我想要类似于 feed.results, feed. count 的东西
const [initialized, setIntialized] = useState(false);
const [feed, setFeed] = useState([]);
const browserFeed = async () => {
const response = await browse();
setFeed(response.results);
setIntialized(true);
};
useEffect(() => {
if (!initialized) {
browserFeed();
}
});
export const browse = () => {
return api.get('xxxxxxxx')
.then(function(response){
return response.data // returns .count , .next, .previous, and .results
})
.catch(function(error){
console.log(error);
});
}
<div className="searched-jobs">
<div className="searched-bar">
<div className="searched-show">Showing {feed.count}</div>
<div className="searched-sort">Sort by: <span className="post-time">Newest Post </span><span className="menu-icon">▼</span></div>
</div>
<div className="job-overview">
<div className="job-overview-cards">
<FeedsList feeds={feed} />
<div class="job-card-buttons">
<button class="search-buttons card-buttons-msg">Back</button>
<button class="search-buttons card-buttons">Next</button>
</div>
</div>
</div>
</div>
【问题讨论】:
-
你想每次都用不同的url调用browse。不确定我是否理解问题所在。
-
没错,但目前设置为
api.get(response.next)不会在浏览器中更新 -
这里的目标是获取每页提要。当你点击next来获取第2、3、4页?基本上是分页,你希望 url 是 url.com/feed?page=5 ?
-
就是这样