• Каким образом управлять состоянием через дочерний компонент?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Ответ написан
    Комментировать
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    @itsjustmypage
    Если взяли, значит устраиваешь. Продолжай штудировать и спрашивать. Английский технический довольно простой и переводчики такое нормально переводят.

    KEEP-CALM-POSTER-LOW_large__78588.129146
    Ответ написан
    Комментировать
  • Лучшее решение повесить обработчик на событие?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Все, что находится в теле функции Example будет выполняться каждый render. Отличие второго способа лишь в том, что он содержит дополнительные операции. Причем, создание хандлера через билдер, в данном случае, абсолютно бессмысленная операция. Подобные приемы уместны если этот билдер где-то переиспользуется и определен за пределами компонента.
    Если хандлер передается в другой React компонент, то имеет смысл использовать хук useCallback. В вашем случае в этом нет смысла, так как хандлер передается в нативный элемент.
    Ответ написан
    Комментировать
  • Где и кто должен делать валидацию?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    1. Да, но не вручную, а через форму, которая за это отвечает - через RegistrationForm. Это же замечательный функционал, глупо его игнорировать. Один раз описываете правила валидации и форма работает.

    2. Нет, они выполняют разные роли: форма занимается валидацией входящих данных, а AR-модель хранением. Я настоятельно не рекомендую тесно связывать формы с сущностями, т.е. наследовать одни от других. Их нужно держать раздельно: изменение AR-сущности User никогда не создаст вам проблем в формах, а изменение данных запроса и правил валидации формы RegistrationForm не навредит AR-сущности. Вы сможете менять их независимо друг от друга.

    3. Вы должны передать провалидированные данные от контроллера в сервис. А вот как вы это сделаете полностью на ваше усмотрение: грубо массивом, особым value-объектом или предусмотреть передачу заполненной формы RegistrationForm в сервис, который сам сможет извлечь данные и выполнить работу. Важный момент: данные должны быть полностью проверены. Сервис при этом может даже не знать кто его использует, главное соблюдать публичный интерфейс.
    Ответ написан
    6 комментариев
  • Как стартапу найти себе продажника?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Теория нам говорит, что основная прибыль продажника - это проценты. Хороший продажник может получать на процентах больше денег в месяц, чем гендиректор.

    Реальность такая, что нужно продать вагон вагонов, чтобы из этого процента вышло что-то, на что можно купить продуктов, отвезти детей в садик и купить валерьянки.

    Когда на рынке правит кумовство, рынок падает, конкуренция более-менее и ваш продукт не топ-1 -- найти такого продажника достаточно сложно, тк такие в топовых компаниях.

    Продукт:
    Нельзя просто так взять и сказать -- продай и твое, тк вы возлагаете риски на менеджера. По сути бесплатную корову ищите, еще и с клыками кабана, скорость гепарда. По сути любой крикнет -- продай для меня товаров Х, а я тебе дам часть от этого -- если продукт на поверхности, то сразу вопрос -- зачем тогда вы ему? :).

    Вы должны дать ТОПОВЫЙ продукт, ЗАЩИЩЕННЫЙ продукт (от подделки, от тиража конкурентов -- чтобы спокойно работать и не увидеть заполненный рынок таким же Г через 2 месяца и потом сидеть без денег, юридически, рекламно и прочее), обеспечить товаром на год (лучше десять лет), обеспечить гарантии качества продукта, обеспечить смежные расходы полностью (телефон, офис, авто) и дать гарантии, что не схлопнитесь через 3 месяца работы продажника, когда у него уже наработаются клиенты и, самое главное, что заплатите за обязательства. Вы готовы такие гарнатии дать? уверен, что нет.
    Даже в фильме "Волк с Уолл Стрит" был офис, были акции и была очень большая маржа с этих акций, чувак просто на поток поставил мусор, но офис был, и был набор предпринимателей в портфеле.
    Работа 'с нуля'
    5cd96b691a89f857153391.jpeg

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

    Кидалово из личного опыта: Меня один раз так кинули, чувак продавал склад говно-кондеев, закупил после аномальной жары в МСК, 2-3 года хламом лежали, решил сбыть за четверть цены, я сделал поток клиентов, а телефон моего поставщика не скрыл с сайта, который сделал под это..., нашелся клиент -- ушел напрямую, в итоге я потерял тысяч 10 и неделю (а мог и больше времени), и ничего не получил, и на кой мне такие отношения? А если бы были дети у меня?
    Ответ написан
    1 комментарий
  • Почему react-native приложение не работает?

    dmc1989
    @dmc1989 Автор вопроса
    Плей маркет защита блочила приложение, поскольку не знала меня, как разработчика.
    Ответ написан
    3 комментария
  • Как правильнее получить данные с нескольких endpoint-ов?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Данные пользователя, по-хорошему, запрашивать в экшене инициализации приложения, а загрузку товаров инициировать в cdm страницы товаров.
    Ответ написан
    Комментировать
  • Как сделать правильно Route для id и new?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    <Switch>
      <Route exact path={`${match.url}/`} component={List} />
      <Route exact path={`${match.url}/new`} component={New} />
      <Route exact path={`${match.url}/:id`} component={View} />
    </Switch>
    Ответ написан
    3 комментария
  • Будет ли утечка при использовании Shared ViewModel?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    В таком варианте никакой утечки нет. Ссылка на фрагмент ниоткуда не появится во ViewModel, если ты её туда не просеттишь. Значит время жизни ViewModel не влияет на время жизни фрагмента. То, что фрагмент хранит какие-то ссылки, никак не может повлиять на его время жизни. Граф объектов - направленный.
    Ответ написан
    3 комментария
  • Авторизация и регистрация Xamarin?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    Авторизация и регистрация - это алгоритмы, от языка разработки они не зависят. Почитайте про HttpClient, Xamarin.Auth, можно почитать статью на хабре про авторизацию в соцсетях на Xamarin, про работу с oauth, про open id connect
    Ответ написан
    Комментировать
  • Как передать ref родительскому компоненту?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    import React, { Component } from 'react';
    import Child from './Child';
    
    class Parent extends Component {
      childRef = React.createRef();
    
      render() {
        return (
          <Child innerRef={this.childRef} />
        );
      }
    }


    import React, { Component } from 'react';
    
    export default class Child extends Component {
      render() {
        const { innerRef } = this.props;
    
        return (
          <div ref={innerRef}></div>
        );
      }
    }
    Ответ написан
    1 комментарий
  • Как уменьшить выделение памяти и избавиться от замыканий?

    IvanBlacky
    @IvanBlacky
    back-end разработчик
    Если коротко, то это невозможно сделать, так как памятью JS управляет самостоятельно.
    Если очень-очень хочется, то первой строчкой в функциональном выражении можно сделать xhr = undefined, но я бы крайне не рекомедовал
    Ответ написан
    Комментировать
  • Как сделать слияние и проверку массива?

    rockon404
    @rockon404
    Frontend Developer
    По техническим причинам на стороне бэкенда нету возможности добавить во второй массив значение type.

    По-моему, вас обманули.

    array2.forEach(el2 => {
     el2.type = array1.find(el1 => el1.idSite === el2.idSite);
    });


    Но если данных очень много, то быстрей отработает такой вариант:
    const array1Clone = array1.slice(0);
    
    array2.forEach(el2 => {
     const index = array1Clone.findIndex(el1 => el1.idSite === el2.idSite);
     
     if (index > -1) {
        el2.type = array1Clone.splice(index,1)[0].type;
     }
    });
    Ответ написан
    3 комментария
  • Как узнать высоту React компонента из другого компонента?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Сейчас я пишу пользовательский хук, в который при вызове передавался бы селектор ID,

    Для подобной операции не нужен хук. По-хорошему вы должны получать ref целевого элемента, а не искать его в DOM с помощью селектора.

    Мне нужно внутри одного компонента получить значение высоты другого компонента. Как это сделать?

    Писать значение в store или state общего родителя.

    Но столкнулся с проблемой, что в кастомных компонентах атрибут id рассматривается как prop

    Потому, что id следует пробрасывать в базовые компоненты, но для решения вашей задачи это не нужно.
    Ответ написан
    2 комментария
  • Какие области в веб - разработке осваивать в перспективе?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Надеюсь, вопрос закроют как дубль. Потому что ну сколько можно уже. "Я ничего не знаю, ни к чему душа особо не лежит, но хочу быть молодым перспективным владельцем стартапов, газет, пароходов поэтому скажите мне какой язык программирования делает людей богатыми и успешными. но только чтобы особо напрягаться не нужно было!"
    Ответ написан
    4 комментария
  • Нужна помощь по алгоритму расстановки/заполнения парка транспорта. Есть идеи?

    Adamos
    @Adamos
    1. Сортируем заказы по времени начала.
    2. Берем первый заказ в очереди.
    3. Находим машину, которая к этому времени свободна минимальное время.
    4. Назначаем заказ ей, выкидываем его из очереди.
    5. Возвращаемся к п. 2.

    В п. 3 берется минимальное время, если вы хотите оптимизировать загрузку и не использовать больше машин, чем требуется для заказов. Либо максимальное, если вам нужно раскидать их как можно более "справедливо" и минимизировать простой каждого участника.
    Ответ написан
    7 комментариев
  • Как обрабатывать ошибки с async/await?

    hzzzzl
    @hzzzzl
    try {
      const result = await redis.asyncGet(token)
    } catch (e) {
      console.log('ooops', e)
    }


    ну или по старинке

    redis.asyncGet(token)
      .then(result => { ... })
      .catch(error => { ... })
    Ответ написан
    Комментировать
  • Как заниматься разработкой на удалённом сервере на DigitalOcean?

    @bagzon
    Backend PHP, NodeJs, JS
    Ваааат?)) На локалке все делай и пулься с гита на сервере, самый простой способ.
    Сервер это не среда разработки
    Ответ написан
    6 комментариев
  • Как написать политику конфиденциальности для google play?

    prrrrrrr
    @prrrrrrr
    Верстаю сразу на PHP.
    Используйте стандартный генератор
    Ответ написан
    Комментировать