ReactとReduxを使用しています。React.jsを使用して1000個のオブジェクトを含む配列にマッピングしていても、一度に25個のオブジェクトだけをスクリーンにレンダリングする方法
私のコンポーネントの1つでは、1000個のオブジェクトを含む配列にマップしたいが、一度に25個しか画面にレンダリングしない。
また、ユーザーがクリックすると別の25を表示する「もっと読み込み」というボタンがあることが理想的です。
私のRedux状態では、1000個のオブジェクトを含む配列があるので、データベースなどから返された結果を制限したくないので気にしません。レンダリングの方法をコントロールしたいだけです。
renderProducts() {
return this.props.allProducts.map(product => {
return (
<div key={product._id} className="col-lg-3 col-md-3 col-sm-3 col-xs-6" id="productThumbnail">
<SingleProduct
key={product._id}
product={product} />
</div>
);
});
}
this.props.allProductsが1000個のオブジェクトを含む配列です:
は、ここで私は私のコンポーネントのメインrenderメソッドの内部で呼び出して、私のrenderProducts()メソッドです。私は一度に25をレンダリングするだけで、毎回画面上の数字を25ずつ増やすボタン用の関数を実装することはできますか?
マップの前にスライスコールを追加し、ページングパラメータを渡します。 –
このように? this.props.allProducts.slice(0,26).map({});そして、もし私がページネーションparamを追加したければ、paramsの値は文字列にする必要がありますか?それをどうするかわからない。 – Mjuice