Size: a a a

2020 March 18

SS

Serhey Shmyg in React Kyiv
Птання в чому?
источник

К

Камран in React Kyiv
как засетить уникальные значения, основывая на кол-во(quantity)

если добавлен тот же товар, но кол-во поменялось, то изменить только кол-во, а не сделать дубль оббекта
источник

SS

Serhey Shmyg in React Kyiv
чистий продж
источник

SS

Serhey Shmyg in React Kyiv
не має нічого
источник

SS

Serhey Shmyg in React Kyiv
Камран
А мне можете помочь?
Вчера мне тут подсказывали как сделать, но я атк и не догнал(
https://stackblitz.com/edit/react-lhivps
const result = productsInOrder.includes(withQuantity) ? false : withQuantity
includes не перевіре чи є такий же обєкт, потрібно це робити руками

const isInCart = productsInOrder.some(item => item.id === withQuantity.id);
источник

К

Камран in React Kyiv
Serhey Shmyg
const result = productsInOrder.includes(withQuantity) ? false : withQuantity
includes не перевіре чи є такий же обєкт, потрібно це робити руками

const isInCart = productsInOrder.some(item => item.id === withQuantity.id);
const withQuantity = {...product,quantity}
const isInCart = productsInOrder.some(item => item.id === withQuantity.id)
  if(isInCart){
    alert('Product is in cart ')
} else {
setProductInOrder([...productsInOrder,withQuantity])
}

Я теперь могу только взять этот обьект и заменить ему quantity?
источник

SS

Serhey Shmyg in React Kyiv
Це був приклад )) я ж не знаю що там в тебе в цих обєктах, є айді не має
источник

SS

Serhey Shmyg in React Kyiv
потрібно зрозуміти що цей обєкт є в тебе в масиві, і додати йому канутер і все
источник

К

Камран in React Kyiv
Serhey Shmyg
потрібно зрозуміти що цей обєкт є в тебе в масиві, і додати йому канутер і все
Ну вот у меня алерт выводится, когда я добовляю снова тот же товар)
источник

SS

Serhey Shmyg in React Kyiv
ну тоді ок, заміни алерт на додавання каунтера
источник

SS

Serhey Shmyg in React Kyiv
хоча можна це зробити за один прохід,  по масиву
источник

К

Камран in React Kyiv
Serhey Shmyg
хоча можна це зробити за один прохід,  по масиву
красивых идей пока нет, пытаюсь сдеать
источник

SS

Serhey Shmyg in React Kyiv
const isInCart = false;

const newProductsInOrder = productsInOrder.map(item => {
   if (item.id === product.id) {
       item.quantity = quantity;
       isInCart = true;
   }

   return item;
})

const productInOrderSetter = isInCart ? newProductsInOrder : s => ([
   ...s,
   product
]);

setProductInOrder(productInOrderSetter);
источник

К

Камран in React Kyiv
Serhey Shmyg
const isInCart = false;

const newProductsInOrder = productsInOrder.map(item => {
   if (item.id === product.id) {
       item.quantity = quantity;
       isInCart = true;
   }

   return item;
})

const productInOrderSetter = isInCart ? newProductsInOrder : s => ([
   ...s,
   product
]);

setProductInOrder(productInOrderSetter);
не совсем работает)
Но спасибо, идею я понял
источник

I

Illya in React Kyiv
Ребят, всем привет, можете подсказать  как передать пропсом асинхронную функцию из App.js чтобы она срабатывала только в тех компонентах, у которых она вызывается?
источник

AM

Anastasiya Mashoshyna in React Kyiv
Illya
Ребят, всем привет, можете подсказать  как передать пропсом асинхронную функцию из App.js чтобы она срабатывала только в тех компонентах, у которых она вызывается?
Покажи пример, пожалуйста. Если функция не вызывается, то она и не должна выполняться. Или ты уже промис передаешь?
источник

I

Illya in React Kyiv

async function general(client) {}
const { TONClient } = require("../node_modules/ton-client-js");

(async () => {
 try {
   const client = await TONClient.create({
     servers: ["test.ton.org/testnet"],
     transactionTimeout: 30000
   });

   await general(client);
   console.log("indexTon");
   process.exit(0);
 } catch (error) {
   console.error(error);
 }
})();
источник

I

Illya in React Kyiv
import React from "react";
import Header from "../../components/Header/Header";
import Footer from "../../components/Footer/Footer";
import { Router } from "react-router-dom";
import Routes from "../../routes/Routes";
import { createBrowserHistory } from "history";
import "./App.scss";
import  main from "../../indexTon.js";

export const history = createBrowserHistory();

const App = () => (
 <Router history={history}>
   <Header />
   <Routes ton={main} />
   <Footer />
 </Router>
);

export default App;
источник

AM

Anastasiya Mashoshyna in React Kyiv
Illya

async function general(client) {}
const { TONClient } = require("../node_modules/ton-client-js");

(async () => {
 try {
   const client = await TONClient.create({
     servers: ["test.ton.org/testnet"],
     transactionTimeout: 30000
   });

   await general(client);
   console.log("indexTon");
   process.exit(0);
 } catch (error) {
   console.error(error);
 }
})();
тут, кажется, export не хватает. Модуль создает сайд-эффект в процессе и все.

А надо, чтобы экспортировалась функция, которая вызывает асинхронную операцию. Тогда моментом вызова можно будет управлять извне.
источник

AM

Anastasiya Mashoshyna in React Kyiv
Illya

async function general(client) {}
const { TONClient } = require("../node_modules/ton-client-js");

(async () => {
 try {
   const client = await TONClient.create({
     servers: ["test.ton.org/testnet"],
     transactionTimeout: 30000
   });

   await general(client);
   console.log("indexTon");
   process.exit(0);
 } catch (error) {
   console.error(error);
 }
})();
как-то вроде такого:

export async function myFunc() {
 try {
   const client = await TONClient.create({
     servers: ["test.ton.org/testnet"],
     transactionTimeout: 30000
   });

   await general(client);
   console.log("indexTon");
   process.exit(0);
 } catch (error) {
   console.error(error);
 }
};
источник