私はHOCにクラスまたは機能コンポーネントのいずれかを渡すことができる問題に遭遇しています。 HOCでは、渡されているコンポーネント(PAGE)の静的プロパティにアクセスする必要があります。ここでの問題は、FLOWがHOCに渡されているPAGEで静的プロパティを見つけることができないというエラーが表示されることです。フロータイプがHOCの静的な小道具を保存していません
Error:(50, 21) Flow: property getInitialProps. Property not found in statics of React$Component
そのエラーが次のコードでは、この行から来ている:
const pageProps =
(await Page.getInitialProps) && (await Page.getInitialProps(ctx))
任意の助けをいただければ幸いです - 私のフルアドホック:私はを取り除くために見つけ
type DefaultProps = {
getInitialProps: (ctx:any) => any
}
type FunctionComponent<P> = (props: P) => ?React.Element<*>;
type ClassComponent<D, P, S> = Class<React.Component<D, P, S>>;
type Component<D, P> = FunctionComponent<P> | ClassComponent<D, P, any>;
export default <D: DefaultProps, P: {}, S: {}> (Page: Component<D, P>, title: string = '') => {
class standardLayout extends React.Component {
static async getInitialProps (ctx) {
// Flow can't read getInitialProps
const pageProps = Page.getInitialProps ? (await Page.getInitialProps(ctx)) : await Page.getInitialProps
return {
...pageProps,
currentUrl: ctx.pathname
}
}
render() {
return (
<div>
<Page {...this.props} />
</div>
)
}
}
return connect()(standardLayout)
}
「getInitialProps」はプロパティではなくメソッドである可能性があります。あなたの '(Page.getInitialPropsを待っています)'は本当に奇妙です、あなたはここに何を期待しましたか? 'getInitialProps'が存在するかどうかをチェックしたい場合は、' const pageProps = Page.getInitialProps &&(Page.getInitialProps(ctx)を待つ) 'が十分でなければなりません – soywod
@soywod助けてくれてありがとう!私はあなたのアドバイスを取ってそれを変更しました - 今これらの2つのエラーがポップアップ - > エラー:(50,55)フロー:メソッド 'getInitialProps'の呼び出し。不明な型のプロパティ 'getInitialProps'で関数を呼び出すことはできません - 第2エラー - >エラー:(50、90)フロー:不明な型のプロパティ' getInitialProps'。この型は共用体と互換性がありません:クラス 'Promise'の型アプリケーション|型パラメータ 'T'を待つ。私は関数にgetInitialPropsを設定することで十分だと思った。 –
'getInitialProps:Function'' Function'はどこから来たのですか? – soywod