React js:永远不会无限滚动的项目(现在有更简单的例子)
React js : items never fed in infinite scroll (now with simpler example)
“react-infinite-scroller”有一个小问题。我正在使用下面的代码:
function RadioStations(props) {
const [items, setItems] = useState(new Array());
const [hasMore, setHasMore] = useState(true);
let { filter, fname } = useParams();
return (
<div style={{ height: "700px", overflow: "auto" }}>
<InfiniteScroll
pageStart={0}
loadMore={() => {
items.push(<div>Test</div>);
console.log(items);
setItems(items);
setHasMore(false);
}}
hasMore={hasMore}
loader={
<div className="loader" key={0}>
Loading ...
</div>
}
useWindow={false}
>
{items}
</InfiniteScroll>
</div>
);
}
如我所见,我的 loadMore
函数已触发,但我的项目从未出现,我想知道为什么。
欢迎任何帮助。
谢谢。
编辑:我简化了示例。
如果你使用地图,你需要return一些东西
尝试添加一个return是这一行:
let jsonItems = json.map((data) =>{ return <Station data={data} />});
找到了。
我需要在无限滚动中添加一个div。
function RadioStations(props) {
const [items, setItems] = useState(new Array());
const [hasMore, setHasMore] = useState(true);
let { filter, fname } = useParams();
return (
<div style={{ height: "700px", overflow: "auto" }}>
<InfiniteScroll
pageStart={0}
loadMore={() => {
items.push(<div>Test</div>);
console.log(items);
setItems(items);
setHasMore(false);
}}
hasMore={hasMore}
loader={
<div className="loader" key={0}>
Loading ...
</div>
}
useWindow={false}
>
<div>
{items}
</div>
</InfiniteScroll>
</div>
);
}
“react-infinite-scroller”有一个小问题。我正在使用下面的代码:
function RadioStations(props) {
const [items, setItems] = useState(new Array());
const [hasMore, setHasMore] = useState(true);
let { filter, fname } = useParams();
return (
<div style={{ height: "700px", overflow: "auto" }}>
<InfiniteScroll
pageStart={0}
loadMore={() => {
items.push(<div>Test</div>);
console.log(items);
setItems(items);
setHasMore(false);
}}
hasMore={hasMore}
loader={
<div className="loader" key={0}>
Loading ...
</div>
}
useWindow={false}
>
{items}
</InfiniteScroll>
</div>
);
}
如我所见,我的 loadMore
函数已触发,但我的项目从未出现,我想知道为什么。
欢迎任何帮助。
谢谢。
编辑:我简化了示例。
如果你使用地图,你需要return一些东西
尝试添加一个return是这一行:
let jsonItems = json.map((data) =>{ return <Station data={data} />});
找到了。 我需要在无限滚动中添加一个div。
function RadioStations(props) {
const [items, setItems] = useState(new Array());
const [hasMore, setHasMore] = useState(true);
let { filter, fname } = useParams();
return (
<div style={{ height: "700px", overflow: "auto" }}>
<InfiniteScroll
pageStart={0}
loadMore={() => {
items.push(<div>Test</div>);
console.log(items);
setItems(items);
setHasMore(false);
}}
hasMore={hasMore}
loader={
<div className="loader" key={0}>
Loading ...
</div>
}
useWindow={false}
>
<div>
{items}
</div>
</InfiniteScroll>
</div>
);
}