【发布时间】:2018-11-21 05:30:51
【问题描述】:
Flow 确保您将所需的道具传递给 React 组件,但是当您发送 extra 道具时,它似乎不会捕获错误。这允许我偶尔犯一些细微的错误,我输入了不正确的道具版本。在下面的示例中,我传入了 prop isloggedin 而不是实际的 prop isLoggedIn,但没有抛出错误,因为我有 isLoggedIn 的默认值。有什么方法可以让 Flow 识别您传入组件中未声明的 prop 的情况?
组件代码:
// @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!
【问题讨论】:
-
type Props = {| ... |}呢? -
@Sulthan Brilliant!有什么理由不在任何地方使用这些吗? (Flow 新手,不确定最佳实践)