从功能性 React 组件读取 URI 参数的正确方法是什么?
在 JavaScript 中,如果组件是 a 的直接子代Switch
,我们可以这样做:
function MyComponent(props) {
const query = props.location.search;
// ...
}
如果组件不是 a 的直接子代Switch
,我们可以使用一个类:
class MyComponent extends Component<RouteComponentProps> {
render() {
const query = this.props.location.search;
// ...
}
}
export default withRouter(MyComponent);
严格的 TypeScript 中的功能组件怎么样?
我们希望location
属性(以及任何其他属性,如果有更多)可用并由 some interface
or预定义type
,但由 React 提供,而不是组件的用户。一个丑陋的黑客是自己定义接口,然后期望它实际上是那样的。