Я пытался выяснить, почему мой контейнер не знает, что такое "this".
Если я изменю контейнер на компонент, тогда все будет работать правильно.
Этот компонент работает отлично и изменяет состояние при поступлении в магазин.
class testCard extends Component {
test= (event) => {
console.log("!!!!!!!!!!!!!!"); // Shows
this.props.testAction(); // This works
}
render(){
return (
<Card>
<CardActionArea onClick={this.test}>
... // Card stuff
</CardActionArea>
<CardActions>
</Card>)
}
}
const mapStateToProps = (state) => {
return {
}
}
const mapDispatchToProps = (dispatch) => {
return bindActionCreators(
{
testAction: testAction()
}, dispatch)
}
export default connect(mapStateToProps, mapDispatchToProps) (testCard);
Ниже код не знает, что это такое, и выдаст ошибку.
const testCard = (props) => {
let test= (event) => {
console.log("!!!!!!!!!!!!!!"); // Shows
this.props.testAction(); // This errors saying cannot find props of undefined
}
return (
<Card>
<CardActionArea onClick={test}>
... // Card stuff
</CardActionArea>
<CardActions>
</Card>)
}
const mapStateToProps = (state) => {
return {
}
}
const mapDispatchToProps = (dispatch) => {
return bindActionCreators({
testAction: testAction()
}, dispatch)
}
export default connect(mapStateToProps, mapDispatchToProps) (testCard);