Ошибка типа: свойство «Store» отсутствует в типе «{}», но требуется в типе «Readonly <Istore>».TS2741 - PullRequest
0 голосов
/ 07 февраля 2019

Привет, пожалуйста, помогите мне исправить это.

Все, что я пытаюсь сделать, чтобы передать свой магазин в качестве реквизита компоненту, но я получаю эту ошибку

Type error: Property 'Store' is missing in type '{}' but required in type 'Readonly<Istore>'.  TS2741

    import React, { Component } from 'react';
import logo from './logo.svg';
import { observable, computed } from 'mobx'
import { observer } from 'mobx-react'
import TodoListView from "./TodoListView";
import 'bootstrap/dist/css/bootstrap.min.css'
import NotesAdd from './NotesAdd';
import NotesView from './NotesView';
import DevTools from 'mobx-react-devtools'
import Loader from './Loader';
import { Store } from "../store/Store"
import makeInspectable from 'mobx-devtools-mst';
import Wall from './Wall';
import { inject } from 'mobx-react';
import NotesStore from "../store/NotesStore";
import CounterStore from "../store/CounterStore";


interface IStoreStores {
    NotesStore: NotesStore,
    CounterStore: CounterStore,
}

interface Istore {
    Store: IStoreStores
}


@inject("Store")
@observer
class Box extends Component<Istore> {
    render() {
        console.log('props', this.props)
        return (
            <div className="Box p-3" >
                box component {this.props.Store.CounterStore.counter}
        <Wall />
            </div>
        );
    }
}

export default Box;

1 Ответ

0 голосов
/ 01 апреля 2019

Хранить реквизиты обязательно в этом:

interface Istore {
    Store: IStoreStores
}

изменить на опциональное:

interface Istore {
    Store?: IStoreStores
}
...