搜尋

首頁  >  問答  >  主體

翻譯:React - TypeScript對props進行解構賦值

<p>我有函數</p> <pre class="brush:php;toolbar:false;">export function getSubjectsForStudent(data: any) : any[]</pre> <p>"data argument" 是我從外部來源接收的,定義強型別並不可行。 "return" 是根據 "data" 推導出來的,所以它也是 any 類型。 <br /><br />一個"Main" 元件將"return" 傳給一個"child" 元件,像這樣:</p><p><br /></ p> <pre class="brush:php;toolbar:false;"><MainCategories subjects={getSubjectsForStudent(data)} /></pre> <p>而在 MainCategories 元件中,</p> <pre class="brush:php;toolbar:false;">export default function MainCategories(props: any) { const tmp = props.subjects; ...</pre> <p>翻譯:它可以工作,沒問題。 </p><p>但我想要:</p><p>export default function MainCategories( {subjects} ) {</p><p>有人可以幫忙嗎? </p><p><br /></p>
P粉071602406P粉071602406475 天前475

全部回覆(2)我來回復

  • P粉579008412

    P粉5790084122023-07-28 12:34:25

    你需要加入一個 Props 的類型或接口,然後你就可以透過解構來取得 subjects。

    interface Props {
      subjects: any
    }
    
    export default function MainCategories({ subjects }: Props) {
        const tmp = props.subjects;
        ...

    回覆
    0
  • P粉155710425

    P粉1557104252023-07-28 00:35:26

    我經常使用這種模式來實現這個,但主要的關鍵是定義props。

    import { FunctionComponent } from 'react';
    
    interface Props {
      // In your case
      subjects: any
    }
    
    const MainCategories: FunctionComponent<Props> = ({subjects}) => (
      ...
    );
    
    export default MainCategories;

    回覆
    0
  • 取消回覆