类型定义是:
declare export class Match<Params> extends React$Component<{|
path: string,
children: (props: {|
match: null | ({ uri: string, path: string } & Params),
location: typeof location,
navigate: NavigateFn,
|}) => React$Node,
|}> {}
像这样使用匹配:
<Match path="/agents/:id">
{({ match, navigate }) => ( [...] )
</Match>
这里match
被认为是null
按流程
如果我尝试类似
class MatchAgent extends Match<{id: string}> {}
flow 效果很好,但反应崩溃不能将 Class 作为函数调用。
const MatchAgent: Match<{id:string}> = Match;
这适用于反应,但不适用于流程:'(
有人知道我们如何用 flowjs 输入吗?谢谢
编辑:这是我的解决方法
const MatchAgent = new Match<{ id: string }>({
path: '/agents/:id',
children: ({ match, navigate }) => ([...]),
});