1. import React from "react";
    2. interface Item {
    3. name: string;
    4. }
    5. let list: Item[] = [
    6. {
    7. name: "chris",
    8. },
    9. {
    10. name: "james"
    11. },
    12. ];
    13. interface MapList<T> {
    14. list: T[];
    15. renderItem: (item: T) => React.ReactNode;
    16. }
    17. function MapList<T>({ list, renderItem }: MapList<T>) {
    18. return <>{list.map(renderItem)}</>;
    19. }
    20. const App = () => {
    21. return (
    22. <>
    23. <MapList<Item> list={list} renderItem={(item) => <li>{item.name}</li>} />
    24. </>
    25. );
    26. };
    27. export default App;