我无法使用@connect()
语法代替export default connect()
阵营 - 终极版@connect不工作,但连接()做
我注意到,当我使用通常的语法
class PhonePage extends Component { ... }
export default connect(state => ({
testedByPhone: state.phonepage.testedByPhone
}),
(dispatch) => ({
actions: bindActionCreators(testUserPhone, dispatch)
})
)(PhonePage)
我的状态在我的商店正确注册。
它看起来是这样的:Object {screenProps: undefined, navigation: Object, testedByPhone: Object}
但是,当我使用@connect装饰使事情更清洁,我没有得到我的状态列东西。
@connect(
state => ({
testedByPhone: state.phonepage.testedByPhone
}),
{ testUserPhone }
)
class PhonePage extends Component { ... }
export default PhonePage
突然变得有点不实际连接的东西:Object {screenProps: undefined, navigation: Object}
我在做什么错的,什么是使用神奇@connect装饰,我用大家看到正确的方法是什么?
的代码的其余部分,以防万一它的需要,在@connect的形式;
'use strict'
import React, { Component } from 'react'
import {
AppRegistry,
StyleSheet,
Text,
ScrollView,
View,
StatusBar,
TouchableHighlight,
Button,
TextInput
} from 'react-native'
import { NavigationActions } from 'react-navigation'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import { testUserPhone } from './actions'
import PhoneInput from 'react-native-phone-input'
@connect(
state => ({
testedByPhone: state.phonepage.testedByPhone
}),
{ testUserPhone }
)
class PhonePage extends Component {
constructor(){
super()
}
componentDidMount() {
// this.props.testUserPhone
}
render() {
console.log(this.props)
return(
...
)
}
}
export default PhonePage
// export default connect(state => ({
// testedByPhone: state.phonepage.testedByPhone
// }),
// (dispatch) => ({
// actions: bindActionCreators(testUserPhone, dispatch)
// })
//)(PhonePage)
// module.exports = PhonePage
您是否正确地转化装饰?我们可以看到您的构建步骤? – ZekeDroid
@ZekeDroid我实际上并不知道你的意思,'改造'他们?构建步骤?如果你告诉我如何为你获得这些信息,我会。 – ARMATAV
@AndrewLi根据本教程,您似乎不需要派遣作为参数,这是唯一的原因http://www.youtube.com/watch?v=kNkTQtRUH-M&t=23m51s – ARMATAV