gpt4 book ai didi

reactjs - ESLint React-Router v4 - 如何验证匹配参数 Prop ?

转载 作者:行者123 更新时间:2023-12-03 13:17:44 24 4
gpt4 key购买 nike

我正在使用 React-Router v4 的 Match object将参数传递给下一个组件。我的路由是这样的:

<Switch>
<Route exact path="/" component={ExperimentListPage} />
<Route path="/experiment/:experiment" component={ExperimentResultsPage} />
</Switch>

我的子组件看起来像:

const ExperimentResultsPage = props => (
<ExperimentResultsContainer experimentName={props.match.params.experiment} />
);

export default withRouter(ExperimentResultsPage);

一切都按预期工作,但是 ESLint 对我使用 match.params.experiment 非常不满意,并且出现 [eslint] 'match.params.experiment' is Missing 的错误 Prop 验证(react/prop-types)

我在 React 文档中看到我可以使用 PropTypes.shape但是我的 params 对象但我希望有更好的方法,特别是因为 Match 对象包含很多字段。

是否有更好的方法将 Match 路由对象添加到 props 验证中?那会是什么样子?如果没有,我是否缺少其他一些可以帮助解决此问题的方法?

最佳答案

我遇到了类似的事情,eslint 似乎很好,只需声明我用作 Prop 并忽略匹配中未使用的字段:

  match: PropTypes.shape({
params: PropTypes.shape({
experiment: PropTypes.string,
}),
}).isRequired,

关于reactjs - ESLint React-Router v4 - 如何验证匹配参数 Prop ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46484026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com