无法获得道具价值

时间:2018-10-10 11:22:40

标签: javascript reactjs redux

我在控制台上通过渲染功能记录this.propsenter 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 :(得分:0)

将它们保存在构造函数中的组件状态中,然后从那里进行访问。

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 and 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>