2017-12-19 5 views
1

私はwithRouterが私のコンポーネントに固有の小道具を注入するために期待される次の基本的な構成要素実験的デコレータとタイプを調整するにはどうすればいいですか?

import * as React from 'react'; 
import { withRouter, RouteComponentProps } from 'react-router-dom'; 

export interface Props { }; 

@withRouter 
export default class Movies extends React.PureComponent<Props> { 
    goBack =() => { 
    this.props.history.goBack(); 
    }; 

    public render() { 
    return (
     <div> 
     <button onClick={this.goBack}>Back</button> 
     </div> 
    ); 
    } 
} 

を持っています。しかし、this.props.historyを参照するとき、私はこの取得:

enter image description here

をタイプ定義を追加しますデコレータを使用する適切な方法は何ですか?

+1

これはTS https://github.com/Microsoft/TypeScript/issues/4881で追跡問題です – asosnovsky

答えて

1

私はそれをこのように実行します。

import * as React from 'react'; 
import { withRouter, RouteComponentProps } from 'react-router-dom'; 

export interface OwnProps { }; 

type Props = OwnProps & RouteComponentProps<{}>; 

@withRouter 
export default class Movies extends React.PureComponent<Props> { 
    goBack =() => { 
    this.props.history.goBack(); 
    }; 

    public render() { 
    return (
     <div> 
     <button onClick={this.goBack}>Back</button> 
     </div> 
    ); 
    } 
} 
関連する問題