我正在尝试为我的州设置初始值。我使用constructor
将一些值填充到我的状态。
import React,{Component} from 'react';
export default class RandomWords extends Component{
constructor(props){
super(props);
const str="Italy quake: Norcia tremor destroys ancient buildings";
const words = str.split(" ");
this.state= {
activeWord:0,
activeLetter:0,
words:words
};
}
render(){
console.log("words are:"+this.props.words);
return(<div>
{ this.props.words }
</div>)
}
}
然后我使用mapStateToProps
将state
连接到props
。这是容器:
import RandomWords from '../components/RandomWords';
import {connect} from 'react-redux';
function mapStateToProps(state){
return ({words:state.words,
activeLetter:state.activeLetter,
activeWord:state.activeWord});
}
export default connect(mapStateToProps)(RandomWords);
如您所见,在我的render()
函数中,我有console.log("words are:"+this.props.Words);
,我希望看到分裂的单词。
但在控制台中只有undefined
答案 0 :(得分:2)
mapStateToProps
用于将商店中的Redux state映射到组件的道具。
但是,您正在初始化component state。两个不同的概念。您可以通过this.state
:
render(){
console.log("words are:" + this.state.words);
return(<div>
{this.state.words}
</div>)
}