Это возможный дубликат
Как получить доступ к онлайн-хранилищу в компоненте реагированияDIdMount ()
Я нахожу этот пример запутанным и более сложным, чем моя реализация, поэтому я рискну снова спросить с более простым кодом.
Мне нужно получить доступ к моему магазину редуксов с componentDidMount()
. Следующий код отображает компонент <h3>
, но значение console.log()
null
:
class FinishedPaying extends Component {
componentDidMount() {
console.log(this.props.paymentID);
}
render() {
return (
<div>
<h3>{this.props.paymentID}</h3>
</div>
);
}
}
const mapStateToProps = (state, props) => {
return {
paymentID: state.paymentID
};
};
const mapActionsToProps = (dispatch, props) => {
return bindActionCreators(
{
updatePaymentID: updatePaymentID
},
dispatch
);
};
export default connect(
mapStateToProps,
mapActionsToProps
)(FinishedPaying);
код редуктора:
import { UPDATE_PAYMENTID } from "../actions/paymentID-actions";
export default function paymentIDReducer(state = "", { type, payload }) {
switch (type) {
case UPDATE_PAYMENTID:
return payload.paymentID;
default:
return state;
}
}
код действия:
export const UPDATE_PAYMENTID = "paymentID:updatePaymentID";
export function updatePaymentID(newPaymentID) {
return {
type: UPDATE_PAYMENTID,
payload: {
paymentID: newPaymentID
}
};
}