Возможно оно предлагает сделать не после пуша а до?
Если в гитхабе в ветке есть коммиты, которые вы не стянули себе, прежде чам запушить оно и в консоли просит сначала стянуть изменения.
Ради интереса попробуйте пушить не из Visual Studio а из git bash
Брать кредит чтобы поиграть в игру? Я могу понять кредит на обучение, могу понять кредит на рабочий девайс, если есть вполне определенный рабочий план зарабатывать деньги, но кредит на поиграть - перебор. Неужели нельзя подобрать приставку, телефон, девайс на котором можно поиграть и который стоил бы меньше одной зарплаты?
anriko, ты задаешь вопросы уровня хорошего курса по React, я не уложусь тут тебе в коментариях как красиво писать код.
На самом деле если последовательно прочитать официальную доку по Реакту и Редакс тулкит https://redux-toolkit.js.org/ там полно примеров правильного кода, но можно пройти хороший курс типа https://www.udemy.com/course/react-the-complete-gu... (если зарегистрировать аккаунт и подождать, этот курс можно и за 13 баксов купить, а иногда и за 9)
Что касается CSSstring , то она никак не зависит от инстанса компонента, она просто преобразует строку в объект, ее можно вынести в отдельный файл с функциями хелперами и просто каждый раз вызывать в рендере.
1) На пороге уже Реакт 18, сейчас все пишут на 17 и предпочтителен функциональный стиль.
Если писать на функциональных компонентах то для того, чтобы CSSstring не вызывалась если this.props.data.style не изменился, можно использовать хук useMemo
anriko, тебе по ходу лень читать документацию, извини не могу помочь.
В статье которую я тебе дал есть и как обернуть в провайдер, что ты правильно сделать и как добавить замоканый стор, и как замокать store.dispatch
В твоей функцции проблема для тестирования в том, что ты зависишь от реализации api.setTaskItemStyle так как передаешь туда и данные и dispatch и ждешь что диспатч будет вызван там, это геморно и не правильно. Ты не сможешь протестировать только функцию setColor
anriko,
Визуальная часть отдельно, редюсер отдельно, екшены отдельно.
api.setTaskItemStyle должен вызываться из екшена
Анимация делается на css тут все правильно, но остальное делается на ref (https://reactjs.org/docs/react-api.html#refs) https://developer.mozilla.org/en-US/docs/Web/API/H...
У в логике ты убиоаешь класс, потом вызываешь удаление, потом удаляешь элемент
ЧТо будет если АПИ выдаст ошибку и елемент не удалится ?
Нужно вызвать екшен, который установит состояние айтема как в процессе удаления, покажешь спинер, когда АПИ удалит, то вернешь состояние елемента как анимация удаления и в конце анимации может вызывать екшн - елемент удален, который просто удалит етот айтем из стора.
Какой то страшный код, просто ужас ужасный.
Зачем в компоненте setTimeout?
Почему не использовать redux_thunk для асинхроных функций
Зачем dispatch передавать в api?
Сделайте как в примере в документации https://react-redux.js.org/tutorials/quick-start
Задача звучит странно. Это какойто гос ресурс? Нет альтернативы, чтобы е надо было играться с куками?
Ради безопастности, браузер защищает куки от чтения сторонними программами, и даже если сейчас вы найдете решение,через некоторое время браузеры могут прикрутить гайки и вы опять будете мучаться.
Функция выдает массив найбольшик чисел во внутренних массивах.
Считаем первое число во внутреннем масиве найбольшим, запускаем цикл от второго до последнего и по очереди сраниваем.
По поводу countdown, судя по тому что каждыйраз при создании компонента вы устанавливаете timer = 3, то предыдущий таймер вам не нужен, вы его не увидите, вам нужно на демонтирование компонента очищать его, а не ждать пока пользователь нажмет countDownTimer
Ну и в остальных операциях логика не прослеживается.
Почитайте как работают useState, useEffect в оригинальной документации, жизненный цикл функционального компонента, и распишите логику сначала на бумажке. Еще раз стейт не работает как глобальная переменная.
Вы без фремвока разрабатываете?
Погуглите state management JavaScript, есть полно готовых решений для управления состоянием.
Ну и если собрались "не бегать" в API за данными не забывайте про вторую фундаментальную проблему в разработке - инвалидация кеша.
Одно из решений, при этом одно из последних, которые бы я использовал
Если ловить все три события на верхнем уровне, можно уменьшить количество кода и увеличить читаемость.
Если в гитхабе в ветке есть коммиты, которые вы не стянули себе, прежде чам запушить оно и в консоли просит сначала стянуть изменения.
Ради интереса попробуйте пушить не из Visual Studio а из git bash