Невозможно использовать пользовательский компонент на главной странице - ошибка машинописного текста - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь создать пользовательский компонент оповещения:

type Severity = "error" | "success" | "info" | "warning" | undefined;

export default function CustomAlert(severity: Severity, text: string){
    return(
    <Alert style={{width:'50%'}} severity={severity}> {text}</Alert>)
}

, но я не могу использовать его в функции главной страницы:

  function StatusMessage(){
        if (errorMessage.includes(`Couldn't find user`)){
          return (
            <div>
            <CustomAlert severity='error' text='User Not Found'></CustomAlert>
            </div>
              )
  }

Настраиваемое предупреждение дает мне это ошибка:

Type '{ severity: string; text: string; }' is not assignable to type '(IntrinsicAttributes & "success") | (IntrinsicAttributes & "info") | (IntrinsicAttributes & "warning") | (IntrinsicAttributes & "error")'.
  Type '{ severity: string; text: string; }' is not assignable to type '"error"'.ts(2322)

1 Ответ

2 голосов
/ 16 марта 2020

Функциональные компоненты получают один параметр: props. Вы можете использовать весь объект или разрушить его, но вы не можете пройти больше одного.

function CustomAlert({severity: Severity, text: string})
function CustomAlert(props: {severity: Severity, text: string})
...