【发布时间】:2019-12-10 05:41:45
【问题描述】:
从功能性 React 组件读取 URI 参数的正确方法是什么?
在 JavaScript 中,如果组件是 Switch 的直接子级,我们可以这样做:
function MyComponent(props) {
const query = props.location.search;
// ...
}
如果组件不是Switch 的直接子级,我们可以使用类:
class MyComponent extends Component<RouteComponentProps> {
render() {
const query = this.props.location.search;
// ...
}
}
export default withRouter(MyComponent);
严格的 TypeScript 中的功能组件怎么样?
我们希望location 属性(以及任何其他属性,如果有更多)可用并由某些interface 或type 预定义,但由React 提供,而不是组件的用户。一个丑陋的 hack 是我们自己定义接口,然后期望它实际上是这样的。
【问题讨论】:
标签: reactjs typescript url react-router url-parameters