• Как же все-таки устроены компоненты react?

    Тайпскрипт ругается, потому что не видит свойства, объявленного на уровне класса.
    Чтобы этого не происходило, достаточно объявить это свойство в классе, а не в конструкторе:
    class MyGrid extends React.Component<RouteComponentProps<{}>, {}> {
        _columns = [
                { key: 'id', name: 'ID' },
                { key: 'title', name: 'Title' },
                { key: 'count', name: 'Count' }
        ];
    
        constructor(props, context) {
            super(props, context);
            this.createRows();
            this.state = null;
        }
       .......

    объявление свойств в конструкторе - старый способ. когда в js появились class properties, он стал не нужен. точно так же можно объявлять state