При запуске yarn test
возникает множество ошибок, что функция loadingElement
, ей не является TypeError: loadingElement is not a function
.
Существует файл minicart.js
в котором я определяю функцию loadingElement
:
loadingElement = bool => {
this.setState({
isLoading: bool
});
};
После чего, я передаю ее вниз: (классу ProductList
)
get productList() {
const { cart, removeItemFromCart } = this.props;
const { cartCurrencyCode, cartId } = this;
return cartId ? (
<ProductList
removeItemFromCart={removeItemFromCart}
loadingElement={this.loadingElement} // Function loadingElement
showEditPanel={this.showEditPanel}
currencyCode={cartCurrencyCode}
items={cart.details.items}
totalsItems={cart.totals.items}
/>
) : null;
}
После чего, я ее принимаю в классе product
, и пользуюсь следующим образом:
removeItem = () => {
const { removeItemFromCart, loadingElement, item } = this.props;
this.setState({
isOpen: false
});
loadingElement(true);
removeItemFromCart({
item: item,
loadingElement: loadingElement
});
};
И на данном этапе loadingElement(true);
, возникает одна из восьми ошибок TypeError: loadingElement is not a function
.
Желаемый результат
yarn test
говорит иначе? А Вы в тесте передаете loadingElement
props? Могу поспорить что нет.
Как решить?
Нужно во всех местах всегда делать проверки, именно для этого Вы и пишите тесты чтобы обнаруживать эти проблемы:
loadingElement && loadingElement(true);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть код который добавляет значение для чекбокса в localstorage
Всем привет, Я использую этот простенький код для плавного скролла по якорям и всё это чудесно работает:
Здраствуйте! У меня такое заданиеНа странице есть несколько form, в form несколько input, в input числа