Я пытаюсь передать реквизит из container.js в flow.js. Это хорошо с корзиной, оформить заказ и реквизиты пользователя. Но реквизит каталога не передается. Как я могу это исправить? Единственное, что я могу редактировать, это мой компонент и json. Не контейнер или поток.
Мой компонент:
<Container directory={directoryVar} checkout={checkout} cart={cart} user={user} />
Мой const directoryVar:
const directoryVar = {
countries: [
{
id: "AD",
two_letter_abbreviation: "AD",
three_letter_abbreviation: "AND",
full_name_locale: "Andorra",
full_name_english: "Andorra"
},
{
id: "AE",
two_letter_abbreviation: "AE",
three_letter_abbreviation: "ARE",
full_name_locale: "United Arab Emirates",
full_name_english: "United Arab Emirates"
}]};
container.js выглядит следующим образом. В нем есть значения, когда я console.log его перед экспортом. После экспорта значения исчезают.
import { connect } from 'src/drivers';
import {
beginCheckout,
cancelCheckout,
submitOrder,
submitPaymentMethodAndShippingAddress,
postAddressInformation,
submitShippingAddress,
submitBillingAddress,
getStreetByPostCodeNLApi,
setTotalsAreLoading
} from 'src/actions/checkout';
import Flow from './flow';
const mapStateToProps = ({ cart, checkout, directory, user }) => {
console.log(user,directory);
return {
cart,
checkout,
directory,
user
};
};
const mapDispatchToProps = {
beginCheckout,
cancelCheckout,
submitOrder,
submitPaymentMethodAndShippingAddress,
postAddressInformation,
submitShippingAddress,
submitBillingAddress,
getStreetByPostCodeNLApi,
setTotalsAreLoading
};
export default connect(
mapStateToProps,
mapDispatchToProps
)(Flow);
Flow.js выглядит следующим образом:
const isCheckoutReady = checkout => {
const {
billingAddress,
paymentData,
shippingAddress,
shippingMethod
} = checkout;
const objectsHaveData = [
billingAddress,
paymentData,
shippingAddress
].every(data => {
return !!data && !isObjectEmpty(data);
});
const stringsHaveData = !!shippingMethod && shippingMethod.length > 0;
return objectsHaveData && stringsHaveData;
};
/**
* This Flow component's primary purpose is to take relevant state and actions
* and pass them to the current checkout step.
*/
const Flow = props => {
const {
// state
cart,
checkout,
user,
directory,
// actions
cancelCheckout,
submitShippingAddress,
submitOrder,
submitPaymentMethodAndShippingAddress,
postAddressInformation,
submitBillingAddress,
setStepNumber,
getStreetByPostCodeNLApi,
setTotalsAreLoading
} = props;
Вывод из console.log:
{} {user:...}