Как делать корзины для больших интернет магазинов?
Очень смешной топик. 
Сразу видно что почти никто из советчиков никогда с реальным интернет-магазином не работал.

Потому что первое, что для себя открывает каждый юный разработчик интернет-магазинов - что люди иногда покупают больше одной штуки каждого товара. 
Второе, что открывает для себя юный разработчик крупных интернет-магазинов (других, разумеется, юные разработчики не делают) - это что товары бывают по сниженным ценам. Которые также должны быть зафиксированы в корзине и заказе.

Ну и третье, уже специально для автора вопроса, а не только для всех юных писателей крупных интернет-магазинов - сначала, перед тем как приступать к написанию крупных интернет магазинов, следует изучить букварь по веб-разработке. И открыть для себя, что у любого интернет-магазина, даже некрупного, есть back-end. В котором, в общем-то, вся логика работы с товарами, заказами и корзиной и реализуется. И которое к "SPA на реакте" не имеет ни малейшего отношения.  И чтобы написать которое, надо учить основы баз данных, SQL и какой-нибудь серверный язык программирования. Ну и ещё примерно 20 дисциплин.
Есть таблица товаров, у каждого товара есть product_id
Есть таблица заказа, у него есть order_id, user_id, дата, еще что-то там.
Есть таблица связи многие-ко-многим, типа order_has_product, например
order_id | product_id | qty

Когда нужны все товары из корзины делаешь примерно так
select id, title, description from products where product_id in (
  select product_id from order_has_product where order_id = 42
)
-- ну или с джоином, вложенный написал просто для наглядности
Отдаешь это на фронт, отрисовываешь.

Не вариант же подгружать 10к товаров одним массивомКонечно не вариант. Храните их в бд на бэке. Причем 10к, это не большой магазин, в большом магазине будут тысячи КАТЕГОРИЙ товаров.

Не получится же просто пробегаться по всему массиву товаров в поиске ...Конечно не нужно пробегаться. Почитайте про индексы.