
[英]React Native Test Error - Unable to find node on an unmounted component
[英]React: Uncaught Error: Unable to find node on an unmounted component
渲染时我在 chrome 中收到此错误。 对于这段代码,我应该得到显示的产品,但我得到了所有其他组件,但产品,我检查了Redux 开发工具并看到产品已成功导入。 但不显示。 我在这里与您分享代码...
主页.js
import React, { Fragment, useState, useEffect } from "react";
import Pagination from "react-js-pagination";
import Slider from "rc-slider";
import "rc-slider/assets/index.css";
import MetaData from "./layout/MetaData";
import Product from "./product/Product";
import Loader from "./layout/Loader";
import { useDispatch, useSelector } from "react-redux";
import { getProducts } from "../actions/productActions";
import { useAlert } from "react-alert";
import { useParams } from "react-router-dom";
const { createSliderWithTooltip } = Slider;
const Range = createSliderWithTooltip(Slider.Range);
const Home = () => {
const [currentPage, setCurrentPage] = useState(1);
const [price, setPrice] = useState([1, 5000]);
const [category, setCategory] = useState("");
const categories = [
"Electronics",
"Cameras",
"Laptops",
"Accessories",
"Books",
"IoT",
"Home Appliances",
"Food",
];
const alert = useAlert();
const dispatch = useDispatch();
const { loading, products, error, productsCount, resPerPage, filteredProductsCount } = useSelector(
(state) => state.products
);
const { keyword } = useParams();
useEffect(() => {
if (error) {
return alert.error(error);
}
dispatch(getProducts(keyword, currentPage, price, category));
}, [dispatch, alert, error, currentPage, keyword, price, category]);
function setCurrentPageNo(pageNumber) {
setCurrentPage(pageNumber);
}
let count = productsCount;
if(keyword) {
count = filteredProductsCount;
}
return (
<Fragment>
{loading ? (
<Loader />
) : (
<Fragment>
<MetaData title={"Buy Best Products Online"} />
<h1 className="pt-4" id="products_heading">
Latest Products
</h1>
<section id="products" className="container mt-5">
<div className="row">
{keyword ? (
<Fragment>
<div className="col-6 col-md-3 mt-5 mb-5">
<div className="px-5">
<Range
marks={{
1: `$1`,
5000: `$5000`,
}}
min={1}
max={5000}
defaultValue={[1, 5000]}
tipFormatter={(value) => `$${value}`}
tipProps={{
placement: "top",
visible: true,
}}
value={price}
onChange={(price) => setPrice(price)}
/>
<hr className="my-5" />
<div className="mt-5">
<h4 className="mb-3">Categories</h4>
<ul className="pl-0">
{categories.map((category) => (
<li
style={{
cursor: "pointer",
listStyleType: "none",
}}
key={category}
onClick={() => setCategory(category)}
>
{category}
</li>
))}
</ul>
</div>
</div>
</div>
<div className="col-6 col-md-9">
<div className="row">
{products.map((product) => (
<Product key={product._id} product={product} col={4} />
))}
</div>
</div>
</Fragment>
) : (
products.map((product) => (
<Product key={product._id} product={product} col={3} />
))
)}
</div>
</section>
{resPerPage <= count && (
<div className="d-flex justify-content-center mt-5">
<Pagination
activePage={currentPage}
itemsCountPerPage={resPerPage}
totalItemsCount={productsCount}
onChange={setCurrentPageNo}
nextPageText={"Next"}
prevPageText={"Prev"}
firstPageText={"First"}
lastPageText={"Last"}
itemClass="page-item"
linkClass="page-link"
/>
</div>
)}
</Fragment>
)}
</Fragment>
);
};
export default Home;
我已经通过控制台日志检查了所有导入,它们都在那里。 你能帮忙吗? 蒂亚❤
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.