Flow обеспечивает передачу необходимых реквизитов в React Components, но, похоже, он не перехватывает ошибки при отправке дополнительных реквизитов.Это допускает тонкие ошибки, которые я иногда делаю, когда я набираю неверную версию проп.В приведенном ниже примере я передаю реквизит isloggedin
, а не реальный реквизит isLoggedIn
, но не выдается никакой ошибки, потому что у меня есть значение по умолчанию для isLoggedIn
.Есть ли способ заставить Flow распознавать случаи, когда вы переходите в подпорку, которая не объявлена в компоненте?
Код компонента:
// @flow
import React, { Component } from "react";
type Props = {
isLoggedIn: boolean
};
class Donkey extends Component<Props> {
static defaultProps = {
isLoggedIn: false,
}
render() {
return (
<div> {this.props.isLoggedIn.toString()} </div>
)
}
}
export default Donkey;
Код вызова:
// @flow
import React, { Component } from "react";
import Donkey from "./Donkey";
type Props = {
}
class Main extends Component<Props> {
render() {
return (
<Donkey isloggedin={true} />
)
}
}
export default Main;
Расход:
> flow
No errors!