Я пытаюсь отфильтровать товары по идентификатору категории, используя реаги, редуксы и пожарные.Я использую firestoreConnect для запроса коллекции продуктов по идентификатору выбранной категории в заявке на ссылку - props.match.params.id и сохраняю этот запрос как фильтрованные продукты.
Этот идентификатор параметра не пуст, когда console.logвнутри render и firestoreConnect, но в предложении where - оно не определено или не имеет значения null.Следовательно, коллекция запросов пуста и, следовательно, не получает никаких записей.
Любое решение будет оценено.
Я мог бы вывести props.match.params.id внутри firestoreConnect.Кроме того, я попытался проиндексировать коллекцию firetore на сайте firebase, но безуспешно.
Вот что я имею в листинге продуктов: js:
import React, { Component } from "react";
import { compose } from "redux";
import { connect } from "react-redux";
import { firestoreConnect } from "react-redux-firebase";
class Listing extends Component {
render() {
console.log(this.props.match.params.id); // able to log
const { filteredProducts } = this.props;
return (
<div>
{filteredProducts && filteredProducts.length > 0 ? (
<ul>
{filteredProducts.map(product => (
<li>{product.name}</li>
))}
</ul>
) : (
<div>no products matching criteria </div>
)}
</div>
);
}
}
const mapStateToProps = ({ firestore: { ordered } }) => ({
filteredProducts: ordered.filteredProducts
});
export default compose(
connect(mapStateToProps),
firestoreConnect(props => [
{
collection: "products",
where: ["category", "==", props.match.params.id],
storeAs: "filteredProducts"
}
])
)(Listing);`
и вот список зависимостей.в файле package.json
"firebase": "^5.11.1",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-redux": "^5.1.1",
"react-redux-firebase": "^2.2.6",
"react-reveal": "^1.2.2",
"react-router-dom": "^5.0.0",
"react-scripts": "2.1.1",
"redux": "^4.0.1",
"redux-firestore": "^0.6.4",
"redux-thunk": "^2.3.0"
Я пытаюсь получить отфильтрованную коллекцию продуктов по идентификатору категории
, что я получаю, это пустой или неопределенный объект массива