【发布时间】:2021-09-06 02:02:06
【问题描述】:
要加载更多图像,列表应该接受图像的值,但它不起作用。
为什么我无法获取列表的值? (控制台中的 list.length=0)
const { images, imagesLoaded } = useSelector((state: RootState) => state.gallery);
const dispatch = useDispatch();
const [imageUrl, setImageUrl] = useState('');
useEffect(() => {
if(!imagesLoaded) {
dispatch(getImages());
}
// eslint-disable-next-line
}, []);
const [list, setList] = useState([...images.slice(0, 5)])
console.log(images.slice(0, 5))
console.log(list.length)
const [loadMore, setLoadMore] = useState(false)
const [hasMore, setHasMore] = useState(images.length > 5)
const handleLoadMore = () => {
setLoadMore(true)
}
【问题讨论】:
-
没有
getImages()的上下文我假设images开始是一个空数组?所以在第一次加载时setList不会设置任何内容,当你使用 console.log 时,长度将为 0 -
@jackstride 非常感谢您的帮助!
标签: javascript reactjs redux use-effect use-state