Ответы пользователя по тегу TypeScript
  • Как в typeScript объявить тип объекта и после его дополнить?

    @7rows
    Frontend Разработчик / Vue / JS / TS / CSS
    У вас тип имеет обязательные поля, поэтому при объявлении переменной у вас ругается на то, что объект не имеет обязательных полей
    Можно пойти 2-мя путями
    1- Сделать поля не обязательными,
    interface reqiestType = {
      name?:string;
      age?:number;
    }


    2- Сделать не обязательные поля при объявлении переменной
    interface reqiestType {
      name:string;
      age:number;
    }
    const data:Partial<reqiestType>  = {};


    Пример

    Ну и лучше использовать интерфейс в данном случае
    Ответ написан
    Комментировать
  • Как изменить реактивную переменную TS?

    @7rows
    Frontend Разработчик / Vue / JS / TS / CSS
    export default {
        name: 'AuthCallback',
        data() {
            return {
                accessToken: {},
            }
        },
        mounted() {
            const tokenParseRegex: RegExp = /access_token=(.*?)&/;
            const idParseRegex: RegExp = /user_id(.*?)/;
            const exAccessToken: RegExpMatchArray | null = useRoute().hash.match(tokenParseRegex);
            this.accessToken = exAccessToken![1]
        }
    }


    Вы должны понимать, что у вас уже создан инстанс, и все что внутри него, надо обращаться через this.
    Ответ написан
    Комментировать
  • Как типизировать функцию setBoardData в type Props?

    @7rows
    Frontend Разработчик / Vue / JS / TS / CSS
    У вас же показывается ошибка, что функция без аргументов, но вы передаете туда аргумент, вот он вам и ругается
    type Props = {
      color: Color;
      boardData: BoardData;
      setBoardData: (data: BoardData) => void; // как типизировать эту функцию (тип BoardData) 
    };
    
    setBoardData({
      ...boardData, // (parameter) boardData: BoardData Expected 0 arguments, but got 1.ts(2554)
      color: { name: color.name, value: color.value },
    });
    Ответ написан
    Комментировать