と入力することはできません。ReactにTypeScriptエラーを持つステートレス関数:TS2352を 'Promise <StatelessComponent <{}>>'
import * as React from 'react';
const Product: React.SFC<{}> =() => <div>Product</div>;
export default Product;
import { asyncComponent } from 'react-async-component';
const AsyncProduct = asyncComponent({
name: 'AsyncProduct',
serverMode: 'resolve',
resolve:() => {
return import(/* webpackChunkName: "Product" */ './Product') as Promise<React.SFC<{}>>;
},
});
export default AsyncProduct;
./src/AsyncProduct.tsx(7,12):エラーTS2352:タイプ '約束' 'が約束を>' 型に変換できません。 " 'typeof "/Users/banyan/tmp/typescript-react-async-component-example/src/Product "' は 'StatelessComponent < {}>'と比較できません。 タイプ 'typeof'/Users/banyan/tmp/typescript-react-async-component-example/src/Product "' は署名に一致しません'(小児:ReactNode; )、コンテキスト:任意):ReactElement |ヌル'。
私はPromise<React.SFC<{}>
はPromise<any>
であることを変更すると、それはコンパイルすることができますが、どのように私はステートレスな機能を指定することができますか?
これはyarn start
で再現する最小レポです:https://github.com/banyan/typescript-react-async-component-example
タイプの定義は、このようなものです:node_modules/react-async-component/index.d.ts
。 async/await
を使用して
:
/**
* The configuration for an asynchronous component.
*/
export interface Configuration<P> {
resolve:() => Promise<React.ComponentType<P>>;
...
}
あなたのレンダリング機能が多分TAに必要あなたがそれらを使用していない場合でも、反応の議論? onst製品:React.SFC <{}> =(小道具:{子?:ReactNode;}、文脈?:任意)=>