2017-12-08 5 views
0

コンポーネントを作成していて、componentDidUpdateメソッドを利用する必要があります。その中で私はthis.propsを使用しています。問題は、this.propsの使用でフローがエラーをスローすることです。それは、プロパティ小道具がクラスに存在しないと言います。this.propsのフロースローエラーがcomponentDidUpdateメソッド内で使用されます

props: Props 

しかし、これは動作しません。

今、私はこのような何かを行うことができます。これで、componentDidUpdateメソッドの内部でthis.propsの型が "混合"になりました。私を助けてください

type Props = { 
    show: boolean, 
    text: string 
} 
export default ConfirmBox extends Component<Props> { 
    // props: Props; 
    componentDidUpdate() { 
    if(this.props.show) { 
     // some logic 
    } else { 
     // some other logic 
    } 
    } 
    . 
    . 
    . 
} 

私のクラスでは、このようなものです。 Reactコンポーネントでフローを使用すると、多くの混乱と苦痛が生じます。

答えて

-1

コンポーネント自体が正しく構成されていない場合は...おそらく、このようなアプローチ試すように感じる:

import React from 'react'; 
import PropTypes from 'prop-types'; 

export default class FooComponent extends React.PureComponent { 
    componentDidUpdate() { 
    console.log(this.props); 
    } 

    render() { 
    return (
     <h1>Foo</h1> 
    ); 
    } 
} 

FooComponent.propTypes = { 
    text: PropTypes.string.isRequired, 
}; 
関連する問題