Допустим, у меня есть неинициализированная переменная
const [email, setEmail] = useState();
У меня есть два маршрута. Одна - это страница регистрации, которая будет заполнять электронное письмо, а другая - страница, на которой написано «Спасибо за регистрацию, пожалуйста, проверьте {props.email»
<Switch>
<Route path=...>
<SignupForm onSubmit={(email)=>setEmail(email)} />
</Route
<Route path=...>
<RegisterComplete email={email} />
</Route
</Switch>
Теперь проблема в том, что RegisterComplete
для свойства prop электронной почты установлено значение обязательное, поскольку вы не хотите отображать эту страницу, если не передано электронное письмо.
Однако, поскольку все маршруты сразу передаются в коммутатор как дочерние элементы, типы пропуска будут выброшены предупреждение о том, что вы пропустили электронную почту.
Я не хочу удалять isRequired
из проптипов, и я считаю, что использование значения по умолчанию - это просто взлом, который наносит ущерб цели проптипов, например const [email, setEmail] = useState("");
Как лучше всего разрешить это предупреждение о типах?