如何在反应 + 打字稿中设置道具类型

卡水

我研究了反应 + 打字稿。我想设置组件功能道具类型。但我不知道如何设置。

这是代码。

interface MovieProps {
    id: number;
    title: string;
    year: number;
}

function App() {
  ...
  const movies: MovieProps[] = [
    { id:1, title: 'movie1', year: 2018 },
    { id:2, title: 'movie2', year: 2019 },
    { id:3, title: 'movie3', year: 2020 },
    { id:4, title: 'movie4', year: 2021 },
  ];
  const renderMovies: JSX.Element[] = movies.map(movie => {
    return (
      <MovieCard key={ movie['id'] } movie={ movie } />
    );
  });
    ...
}

function MovieCard({ movie }: any) {  <- this part
  return (
    <div className="movie">
      <div className="movie-title">{ movie['title'] }</div>
      <div className="movie-year">{ movie['year'] }</div>
    </div>
  );
};

我不想设置“任何”。我设置的类型是什么?

西门

我会更改它,以便您将道具传递给您要使用的卡片,而不是将容器对象作为道具。这也使打字更简单。所以你可以这样做:

interface MovieProps {
    id: number;
    title: string;
    year: number;
}

function App() {
  ...
  const movies: MovieProps[] = [
    { id:1, title: 'movie1', year: 2018 },
    { id:2, title: 'movie2', year: 2019 },
    { id:3, title: 'movie3', year: 2020 },
    { id:4, title: 'movie4', year: 2021 },
  ];
  const renderMovies: JSX.Element[] = movies.map(movie => {
    return (
      <MovieCard key={ movie.id } {...movie} />
    );
  });
    ...
}

function MovieCard({ title, year }: MovieProps) {  <- this part
  return (
    <div className="movie">
      <div className="movie-title">{ title }</div>
      <div className="movie-year">{ year }</div>
    </div>
  );
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

反应道具类型与打字稿

如何在反应/打字稿中使用枚举作为道具

如何在反应打字稿中将函数作为道具传递

如何设置类型取决于打字稿中的函数参数?

如何在VScode中设置打字稿?

如何在反应/打字稿中设置材料表动态列

如何在组件反应打字稿中返回值

如何在反应打字稿中制作redux商店

打字稿中的路线(反应导航)类型

如何使用打字稿中的反应钩子设置graphql数据?

如何在React中为AWS放大GraphQL响应设置打字稿类型?

如何在 vuex 存储打字稿中动态设置对象的属性(同时保持类型安全)

条件道具反应打字稿

接口状态和打字稿中的道具反应

在道具中传递对象,用打字稿反应js

打字稿中反应组件中道具的简洁易读的语法

反应功能组件中的打字稿道具辨别

在反应 + 打字稿中从类组件传递道具

打字稿反应,如何设置数组的状态

如何将两种类型作为联合类型提供给 Reactjs 打字稿中的输入道具

如何在与打字稿反应时为子类声明不同的状态和道具

如何将类中每个属性的类型设置为打字稿中的函数签名?

如何检查打字稿中的值类型?

如何修复打字稿中丢失的类型

如何导入打字稿中的类型定义?

如何使用打字稿在反应功能组件中定义自定义道具?

如何在父母的反应引导(下拉)中设置道具

如何使用'es6'样式在打字稿中动态设置类型?

如何在打字稿中定义对象类型的对象