Не может получить доступ к значению реквизита - PullRequest
0 голосов
/ 10 октября 2018

Я записывал в консоль this.props из функции рендеринга - enter image description here И в консоли я вижу эти данные - The props I see..

Однако, когда я пытаюсь получить доступ к любому из них, скажем, что я хотел получить доступ к объекту store, тогда, если журнал выглядит так console.log(this.props.store).Вот так - enter image description here Тогда я получаю это - enter image description here

Понятия не имею, что когда-либо я делаю неправильно.Если кто-то знает, что я делаю неправильно, пожалуйста, дайте мне знать.Любая помощь приветствуется!

Весь код -

import * as React from 'react';
import { connect } from 'react-redux';
import mapStateToProps from './utilities/mapStateToProp';
//tslint:disable
class App extends React.Component {
  constructor(props: any){
    super(props);

  }

  public render() {
    console.log(this.props);

    return (
      <div className="App">
        <h1>React + TypeScript = {}</h1>
      </div>
    );
  }
}

export default connect(mapStateToProps)(App);

1 Ответ

0 голосов
/ 10 октября 2018

Сохраните их в своем компоненте состояние в вашем конструкторе и получите к ним доступ оттуда.

constructo(props){
  super(props)
  this.state = { store: props.store }
}

И в вашем render ()

render(){
   const { store } = this.state //use the store const to access to your value
   console.log(store);
}

РЕДАКТИРОВАНИЕ

Если вы не используете компонент без сохранения состояния, вы должны объявить интерфейс в своем компоненте, чтобы ваш компонент понимал, какой тип реквизита имеет состояние, просмотритеэта ссылка для получения дополнительной информации Typescript и React

interface IMyComponentProps {
   someDefaultValue: string
}

interface IMyComponentState {
    store: any //dont know what type is your store.
}


class App extends React.Component<IMyComponentProps, IMyComponentState> {
  // ...
}

Чтобы проверить обходной путь, чтобы проверить, работает ли он, попробуйте это React.Component<{},any>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...