# post-carousel/4.0.3/src/components/iconLibrary/useIconList.js

Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog &amp; News, version 4.0.3. 36 lines.

- Page: https://pluginprobe.com/plugins/post-carousel/4.0.3/code/src/components/iconLibrary/useIconList.js
- Raw: https://pluginprobe.com/plugins/post-carousel/4.0.3/raw/src/components/iconLibrary/useIconList.js
- Modified: 2026-04-24T11:48:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/post-carousel/4.0.3/code/src/components/iconLibrary/useIconList.js#L10-L20`.

```javascript
import apiFetch from "@wordpress/api-fetch";
import { useEffect, useState } from "@wordpress/element";

const useIconList = () => {
	const [icon, setIcon] = useState([]);

	const fetchIconList = async () => {
		await apiFetch({
			path: `/smart-post/v2/icon-list`,
			method: "POST",
			headers: {
				"X-WP-Nonce": sp_smart_post_block_localize.ajaxNonce,
			},
			data: {
				someParam: "example",
			},
		})
			.then((response) => {
				setIcon(JSON.parse(response));
			})
			.catch((error) => {
				console.error("Error fetching icon list:", error);
			});
	};

	useEffect(() => {
		if (icon.length < 1) {
			fetchIconList();
		}
	}, [icon]);

	return icon;
};

export default useIconList;

```
