javascriptreactjscookiesreact-cookie

Cookie doesn't accepting all my items into its array


I have a cookie for a cart, but when I try to add another item to the array that is stored inside, it seems to ignore it here's the code:

const { cookies } = this.props;
var cart = cookies.get('cart')?cookies.get('cart'):[];
var itemIndex = cart.findIndex(({miner})=>{return( miner.index == index)});
var itemInCart = itemIndex==-1?false:true;

if(!itemInCart){
  var newOrder = {miner:this.state.miners[index], amount:1};
  console.log(newOrder);
  cart.push(newOrder);
} else {
  cart[itemIndex].amount = cart[itemIndex].amount + 1;
  console.log(cart[itemIndex]);
}
var exp = new Date();
exp.setDate(exp.getDate()+1);
console.log(cart);
//the console logs an array with two items here
cookies.set('cart',cart,{path:'/',expires:exp});
console.log(cookies.get('cart'));
// the console logs that the cookie only has an array of one item
this.setState({cartCount:this.state.cartCount+1});

It seems it could be a ressource error, but I think my input (an array of "miners") should be fine, I will still include it because I can put two items into the array only with miner2 and miner3 but miner0 doesn't let any other one into the array

[
  {
    "_id": "5a53e115ccd4d455492bf936",
    "index": 0,
    "cost": "$3,520.19",
    "picture": "http://placehold.it/512x512",
    "name": "miner0",
    "about": "Labore pariatur anim ut sint consectetur labore tempor nulla labore excepteur dolore. Laborum elit deserunt eiusmod ipsum voluptate eu sunt deserunt reprehenderit culpa elit magna enim dolor. Laborum deserunt aliqua elit laboris sint ea culpa laborum Lorem duis non ex. Officia adipisicing cupidatat id ullamco dolore exercitation tempor sunt non. Cupidatat in et reprehenderit cillum sint do commodo sit in ad ullamco. Veniam labore mollit deserunt ad culpa officia aliquip nostrud ea.\r\n",
    "spec1": "Non mollit eu aute sunt et culpa nulla et laborum velit pariatur voluptate ex.",
    "spec2": "Sunt veniam velit ex minim do anim fugiat.",
    "spec3": "Excepteur tempor sint exercitation laboris.",
    "info": "Sint aliqua irure sint laborum sunt tempor veniam veniam qui magna magna elit cupidatat. Aliqua nulla nulla ipsum pariatur id amet laborum sunt culpa pariatur. Et duis ea dolor aute Lorem in culpa voluptate anim culpa ut proident in.\r\n",
    "warranty": "Nulla ex enim aute deserunt anim incididunt. Ad fugiat reprehenderit occaecat consequat Lorem consequat aliquip tempor. Duis laboris commodo pariatur labore pariatur culpa elit sit ex cupidatat veniam. Et veniam dolor in voluptate occaecat id veniam eiusmod mollit duis. Ullamco nulla cillum ad culpa ipsum elit nisi eu. Laboris in tempor mollit reprehenderit in. Ipsum id excepteur proident cillum nulla do qui velit culpa aute esse eu.\r\nIn cillum et sunt fugiat cupidatat Lorem est. Ullamco anim eu culpa officia ut. Adipisicing velit ea dolor ex sunt consequat nisi. Ad ipsum dolor duis eu sint consequat laboris nisi quis. Reprehenderit in eiusmod commodo occaecat aute labore. Officia dolor esse est aliquip nisi nostrud nostrud reprehenderit ea laboris id. Anim consectetur laboris sunt laborum id aliquip ea qui consequat aliqua cillum.\r\n"
  },
  {
    "_id": "5a53e1151375d4585b6522e0",
    "index": 1,
    "cost": "$2,942.35",
    "picture": "http://placehold.it/512x512",
    "name": "miner1",
    "about": "Culpa culpa velit laboris tempor non exercitation Lorem minim. Magna ut mollit esse et officia sunt ullamco nostrud cillum nulla cillum excepteur fugiat ut. Laboris ex pariatur aliquip officia ea eiusmod duis mollit excepteur veniam laboris sint ex. Ipsum qui non nulla aliquip fugiat tempor laboris culpa occaecat exercitation nulla. Reprehenderit esse ex nulla duis. Proident laborum magna sit deserunt eiusmod fugiat non deserunt ipsum magna in.\r\n",
    "spec1": "Minim velit velit occaecat occaecat culpa.",
    "spec2": "Sunt in magna occaecat ut culpa eu consectetur laboris sint.",
    "spec3": "Voluptate minim excepteur anim ea amet adipisicing nisi ut esse cillum incididunt aliquip dolor.",
    "info": "Ut consequat nulla nisi commodo exercitation ut aute ad do aliquip non tempor. Incididunt proident quis eiusmod exercitation aute esse occaecat sunt adipisicing eiusmod irure ea ipsum. Commodo in qui velit elit aliqua consectetur labore amet quis laboris.\r\n",
    "warranty": "Anim aute reprehenderit sunt eiusmod fugiat do consectetur exercitation. Aliqua labore magna sint Lorem cillum magna in. Id dolor do laborum magna adipisicing. Aliquip cillum aliqua ad eiusmod dolor elit do reprehenderit Lorem fugiat pariatur.\r\nLaborum fugiat qui elit ex irure adipisicing veniam et exercitation duis eu qui incididunt. Exercitation irure esse incididunt eu incididunt dolor ea commodo voluptate aliquip. Proident reprehenderit non cillum officia enim culpa. Incididunt ipsum sunt ad tempor labore anim fugiat id ullamco dolor nisi dolor ex aliquip. Consequat laborum elit exercitation labore.\r\n"
  },
  {
    "_id": "5a53e115c53a95ae3d7faf98",
    "index": 2,
    "cost": "$2,125.27",
    "picture": "http://placehold.it/512x512",
    "name": "miner2",
    "about": "Labore enim laborum Lorem sunt adipisicing est laboris culpa. Ullamco quis occaecat cillum id. Cillum adipisicing ullamco aliqua excepteur ex mollit tempor dolore.\r\n",
    "spec1": "Duis in laboris sit esse deserunt incididunt amet sit consequat enim qui ea.",
    "spec2": "In ullamco tempor ad aute anim id enim aliquip adipisicing occaecat ullamco deserunt excepteur et.",
    "spec3": "Qui commodo laborum voluptate incididunt mollit dolor culpa esse sint enim eiusmod officia velit.",
    "info": "Deserunt deserunt aute excepteur ad deserunt. Sit aute ea irure dolor aute labore et sint labore enim ad mollit tempor ea. Est sunt quis qui nulla irure eiusmod. Aliqua exercitation do consectetur sit Lorem irure.\r\n",
    "warranty": "Eiusmod laboris labore nulla ipsum proident aliquip anim consequat do et. Quis occaecat voluptate est non aliquip qui laboris irure reprehenderit. Amet laboris esse enim mollit aliqua sit.\r\nNostrud esse in reprehenderit ut exercitation irure veniam. Irure minim ea esse incididunt. Consequat do consequat veniam Lorem occaecat sunt occaecat minim cillum sit irure.\r\n"
  },
  {
    "_id": "5a53e115bb9cca117fdd0012",
    "index": 3,
    "cost": "$1,988.88",
    "picture": "http://placehold.it/512x512",
    "name": "miner3",
    "about": "Labore aliquip do id esse sint proident amet reprehenderit. Duis aliqua aute elit sint commodo pariatur esse nulla eiusmod ut. Irure eu nulla proident Lorem excepteur consequat labore. Cupidatat fugiat Lorem Lorem sit voluptate cupidatat cillum. In incididunt dolor nostrud ipsum cupidatat commodo nisi ea.\r\n",
    "spec1": "Culpa et minim reprehenderit laborum.",
    "spec2": "Amet consectetur quis consectetur cupidatat aute cupidatat ea velit.",
    "spec3": "Eiusmod veniam culpa ex ut officia ad ipsum ut anim quis et aute irure.",
    "info": "Ea officia pariatur in mollit sint nostrud. Cillum qui commodo deserunt reprehenderit ad sit sunt nisi. Aute esse incididunt ut velit sit voluptate.\r\n",
    "warranty": "Est labore sunt culpa esse incididunt sit proident aliqua aliquip et in. Nisi reprehenderit cillum veniam fugiat adipisicing culpa nisi labore commodo proident. Ex nostrud aute dolor magna veniam.\r\nEa veniam velit irure dolore in nostrud magna officia laboris nulla non pariatur cupidatat anim. Occaecat in ad dolore laborum eu incididunt ipsum tempor consequat reprehenderit eu voluptate laboris. Nulla aute proident excepteur ad enim labore tempor elit irure sunt.\r\n"
  }
]

Solution

  • Have a look at this side: https://www.thoughtco.com/cookie-size-limit-3466810

    Here you can find answers as well: What is the maximum size of a web browser's cookie's key?

    I would only save the id of the product in the shopping cart cookie and not all information I got from the product, because of the limited size of the cookie.