在我的mapStateToProps
函数中,我设置idToken
和accessToken
存储在状态中的值。这很有效,因为我已经能够从组件中引用这些值。在mapDispatchToProps
我尝试使用这些道具作为我的行动中的论据。但是,ownProps
是一个空对象。为什么没有idToken
and accessToken
?
容器:
import { connect } from 'react-redux'
import { toggleAddQuestionModal, fetchFriends } from '../actions'
import AddQuestionButtonComponent from '../components/AddQuestionButton'
const mapStateToProps = (state) => {
auth = state.auth
return {
idToken: auth.token.idToken,
accessToken: auth.profile.identities[0].accessToken,
}
}
const mapDispatchToProps = (dispatch, ownProps) => {
return {
didPress: (idToken, accessToken) => {
dispatch(toggleAddQuestionModal(true))
dispatch(fetchFriends(ownProps.idToken, ownProps.accessToken))
}
}
}
AddQuestionButton = connect(
mapStateToProps,
mapDispatchToProps
)(AddQuestionButtonComponent)
export default AddQuestionButton
零件:
'use strict';
import React, {
Text,
View,
TouchableHighlight,
PropTypes,
} from 'react-native'
import styles from './styles'
const AddQuestionButton = ({ didPress, idToken, accessToken }) => (
<TouchableHighlight style={styles.actionButton} onPress={didPress(idToken, accessToken)}>
<Text style={styles.actionButtonText}>+</Text>
</TouchableHighlight>
)
AddQuestionButton.propTypes = {
idToken: PropTypes.string.isRequired,
accessToken: PropTypes.string.isRequired,
didPress: PropTypes.func.isRequired,
}
export default AddQuestionButton
为什么我无法访问idToken
and accessToken
from ownProps
?如果这是不正确的模式,应该如何idToken
访问accessToken
?
谢谢!