我在控制台上通过渲染功能记录this.props
,
在控制台中,我可以看到这些-
但是,当我尝试访问它们中的任何一个时,说我想访问store
对象,然后如果日志是这样的console.log(this.props.store)
。像这样-
然后我得到这个-
我不知道我做错了什么。如果有人知道我在做什么错,请告诉我。任何帮助表示赞赏!
整个代码-
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);
答案 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>