ts (2322) Дочерние элементы свойств не существуют для типа 'Intrinsi c attributes and Props' - PullRequest
1 голос
/ 04 августа 2020

Я получаю следующую ошибку при попытке создать мульти-карту с 'date' в качестве ключа, а затем перебираю мульти-карту, которая имеет массивы в качестве значений.

Введите '{children: никогда[]; ключ: строка; Индекс: строка; Элемент: SomeItem []; } 'не может быть назначен типу' IntrinsicAttributes & Props '. Свойство children не существует для типа IntrinsicAttributes & Props. ts (2322)

и не уверен, как это исправить


   const History = () => {
   
  
   const [counter, setCounter] = useState(0);
   type SomeMap = Map<string,  SomeItem[]>;
   let map: SomeMap = new Map();

    //Items is of type SomeItem[]
    Items.foreach((item) =>{
      if(map.has(item.date)){
       (map.get(item.date) ?? []).push(item);
       } 
      else{
       map.set(item.date,[item]);
       }
      });

      return(
        <Accordian>
         { map.foreach((value, index) => {
           setCounter(counter +1 );
           <Task
            key={index}
            Index={counter.toString()}
            Item={value}>
           </Task>
         })}
        </Accordian>
     );
   
    };

    
   
    type Props = {
     index: string;
     Item: SomeItem[];
    };

    const Task = (props:Props) => {

     const index = props.Index;
     const Item = props.SomeItem;

     
     render(/*Some Code*/);
    };


1 Ответ

0 голосов
/ 04 августа 2020

Task не набирается для получения children, но на самом деле вы фактически передаете текстовый узел новой строки в качестве дочерних элементов задачи.

      <Task
        key={index}
        Index={counter.toString()}
        Item={value}>{/* there is a new line text node here */}
      </Task>

Вероятно, вы захотите, чтобы тег JSX самозакрывался, чтобы убедитесь, что у него нет детей:

      <Task
        key={index}
        Index={counter.toString()}
        Item={value}
      />

Детская площадка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...