次のコンポーネントがあると、不足しているisUpdating
小道具に関するエラーが発生します。どうすれば修正できますか?React/Reduxプロジェクトでは、reduxのconnect decoratorによって渡されたプロパティをTypescriptに認識させる方法を教えてください。
Error:(87, 27) TS2322:Type '{ name: "Fred"; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes> & Reado...'. Type '{ name: "Fred"; }' is not assignable to type 'Readonly'. Property 'isUpdating' is missing in type '{ name: "Fred"; }'.
interface ContaineeProps {
name: string;
isUpdating: string;
}
const Containee = (props: ContaineeProps) => <span>{props.name}</span>;
interface MapStateToProps {
isUpdating: boolean;
}
const mapStateToProps = state => ({ isUpdating: state.years.yearsUpdating });
const ConnectedContainee = connect<MapStateToProps, null, ContaineeProps>(mapStateToProps)(Containee);
interface Container {
name: string;
}
class Container extends React.Component<Container, {}> {
render() {
return (
<ConnectedContainee name="Fred" />
)
}
}
編集:この質問はReduxの/反応/ typescriptですアプリケーションと、このエラーの理由について以下のベストプラクティスについての詳細です。私はいつも2つの場所で指定された小道具の型情報を必要としなければならないのですか?(コンポーネントの小道具のインターフェースとmapStateToProps関数のインターフェース)?
VehiclesFormPropsとは何ですか? –
@OliverCharlesworthうわー、私はそのような慎重な仕事のコピー/貼り付け/私の実際のコンポーネントから簡単な例を編集したと思った。本当に私は吸うことが分かった! (私の例を修正しました) –