Transcrito + Reagir: Receber Data de objeto como um tipo de data e passá-lo para outro componente

0

Pergunta

Eu tomei um usuário atribuído data de adereços de um componente pai e estou apenas tentando passar essa data em outro componente.

import Card from '../UI/Card';
import ExpenseDate from './ExpenseDate';
import './ExpenseItem.module.css'

type Form = {
   title: string;
   amount: number;
   date: Date;
}

const ExpenseItem = ({ title, amount, date }: Form) => {

   //Return Date UI Component
   return (
   <li>
      <Card className="expense-item">
         <ExpenseDate date={date} />
         <div className="expense-item__description">
            <h2>{title}</h2>
            <div className="expense-item__price">${amount}</div>
         </div>
      </Card>
   </li>
   );
};

export default ExpenseItem;

para

import './ExpenseDate.module.css';
const ExpenseDate = (date: Date) => {
   //Retrieve Day Month and Year from Date object
   const month = date.toLocaleString('en-US', {month: 'long'});
   const day = date.toLocaleString('en-US', {day: '2-digit'});
   const year = date.getFullYear();

   //Return Dates to Date UI Component
   return (
      <div className="expense-date">
         <div className="expense-date__month">{month}</div>
         <div className="expense-date__day">{day}</div>
         <div className="expense-date__year">{year}</div>
      </div>
   )
};
export default ExpenseDate;

mas recebo a mensagem de erro

<ExpenseDate date={date} />

Tipo '{ data: Data; }' não é atribuível ao tipo de 'IntrinsicAttributes & Date". A propriedade 'data' não existe no tipo 'IntrinsicAttributes & Date". Eu não acho que eu estava tentando se passar por "data" como uma propriedade de um objeto Date, mas é o que eu estou entendendo que ele está tentando dizer e eu não tenho nenhuma idéia de como corrigi-lo.

date properties reactjs types
2021-11-22 22:47:59
1

Melhor resposta

1

ExpenseDate não é escrito com typescript. Além disso, você está acessando o adereços em um caminho errado. Tente usá-lo como este.

export type ExpenseDateProps = {
  date: Date;
}
const ExpenseDate: FC<ExpenseDateProps> = ({ date }) => {
   //Retrieve Day Month and Year from Date object
   const month = date.toLocaleString('en-US', {month: 'long'});
   const day = date.toLocaleString('en-US', {day: '2-digit'});
   const year = date.getFullYear();

   //Return Dates to Date UI Component
   return (
      <div className="expense-date">
         <div className="expense-date__month">{month}</div>
         <div className="expense-date__day">{day}</div>
         <div className="expense-date__year">{year}</div>
      </div>
   )
};
export default ExpenseDate;
2021-11-22 22:52:42

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................