@etsoo/materialui
Version:
TypeScript Material-UI Implementation
24 lines (23 loc) • 770 B
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { Tiplist } from "./Tiplist";
/**
* Country list
* @param props Props
* @returns Component
*/
export function CountryList(props) {
// Destruct
const { items = 16, loadData, loadFavoredIds, name = "countryId", ...rest } = props;
// Ref
const favoredIds = React.useRef([]);
// Ready
React.useEffect(() => {
if (loadFavoredIds && favoredIds.current.length === 0)
loadFavoredIds().then((ids) => {
favoredIds.current = ids;
});
}, [loadFavoredIds]);
// Layout
return (_jsx(Tiplist, { name: name, loadData: (keyword, id) => loadData({ id, keyword, favoredIds: favoredIds.current, items }), ...rest }));
}