簡體   English   中英

如何從父級到子級使用功能組件?

[英]How to use functional component from parent to child?

您好,我對 react.js 很陌生。

我想在子組件中創建 function 並在父組件中使用它。

在父組件中,

import ListReport from './Child';
...
  <ListReport dataval={Dfprocess} />

這是子組件。

const ListReport = (props) => {
  const dataval = props;

  const keys1 = [];
  for (const item of dataval){
    for (const var1 of Object.keys(item)){
      keys1.push(var1)
    }
  };
  ...
  return (
    ...
    {<thead>
       <tr>
         {keys1.map(key => <th key={key}>{key}</th>)}
       </tr>
     </thead>}
     ...
  );

但是,此代碼會引發錯誤

類型錯誤:dataval 不可迭代

我希望 dataval 作為列表,當我在下面的子組件中定義 dataval 時,不會有錯誤...

  const dataval = [
    {'Subject': ['100', '101', '102']},
    {'Height': [189, 200, 174]},
    {'Country': ["Japan", "US", "India"]},  
    {'Type': ["A", "B", "C"]}
  ]

我認為傳遞參數在我的代碼中不起作用,請告訴我如何解決這個問題?

提前致謝。

您應該將dataVal作為命名道具傳遞,但忘記在ListReport上對其進行解構,例如const ListReport = ({dataVal)

首先,您應該在useEffect中移動該 for 循環,因為它會阻塞 function 並延遲渲染。

接下來了解解構和其他ES6 特性

  1. 你可以像這樣解構道具
const ListReport = ({dataval}) => {
  const dataval = props;
  1. 從 props 中獲取屬性
const ListReport = (props) => {
  const dataval = props.dataval;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM