私は現在、状態管理のためにタイプされたReact(TSX)とmobxを使用しています。オブザーバーなしで注射を使用できません
私は、オブザーバと注入デコレータの両方を使用するコンポーネントをビルドすることができます。しかし、私はオブザーバを使わずに注入を使うコンポーネントを作ることはできません。これはtypescriptですコンパイラを渡す
はexport const DealershipBreadCrumb = inject("appStore")(observer((props: Props) => {
const {appStore} = props;
const dealership = appStore.getSelectedDealership();
return (
<div className="filter__container filter__group">
<a className="filter__link" href={`cars?q=${appStore.searchResults.searchQuery}`}>
<span className="filter__text">{dealership.name}</span>
</a>
</div>
)
}))
しかしこれは、次のエラーメッセージで
export const DealershipBreadCrumb = inject("appStore")((props: Props) => {
を失敗し
[ts] Argument of type '(props: Props) => Element' is not assignable to parameter of type 'ComponentClass<{}>'.
Type '(props: Props) => Element' provides no match for the signature 'new (props?: {}, context?: any): Component<{}, ComponentState>'
このエラーメッセージの頭と尾を作る際に、私を支援してください。 。私の賭けは、入力が時代遅れであるか、何かであるということです。そうでなければ、オブザーバを使わないでinjectを使用すると、実際には無効な組み合わせになります。
どの '.d.ts'ファイルが' mobx-react'に使用していますか?あなたはそれのためのリンクを持っていますか? –