• Как правильно удалять?

    rockon404
    @rockon404 Куратор тега Redux
    Frontend Developer
    case DELETE_SOME_BY_ID:
      const byId = { ...state.some.byId };
      delete byId[action.payload.id];
      const allIdis = state.some.allIdis.filter(el => el.id != action.payload.id);
    
      return {
         ...state,
        some: {
          byId,
          allIds,
        },
      };

    Ясное дело, что, в вашем случае, перед удалением доски надо перебрать все вложенные списки и задачи и удалить их.
    Ответ написан
    1 комментарий
  • Оценить приложение?

    search
    @search
    мама говорит что я особенный
    Вот классный проект, который задаёт планку программирования на ангуляре https://angular-checklist.io/default/checklist/arc...

    Можете пробежаться по всем пунктам и сравнить с тем что есть сейчас.

    Как верно заметил Дмитрий Лузанов, сразу бросается в глаза непонимание принципов работы RxJS. Вот видео, которое помогло мне разобраться в этом деле: https://www.youtube.com/watch?v=3LKMwkuK0ZE . Там старая версия RxJS, но принципы не поменялись.

    От себя добавлю, что хранить состояние системы в переменных сервисов (это я про items у ItemService) - это грабли. Не наступать на эти грабли поможет понимание RxJS (сорри, уже надоел, наверное, но в ангуляре без него никуда). И/или подключение NgRx.
    Ответ написан
    Комментировать
  • Оценить приложение?

    Тип лучше указывать не через конструктор примитива, а через тип string (тот что из TypeScript, с маленькой буквы).
    url: String = '';

    Вы не используете возможности RxJS. Этот кусок кода можно сделать иначе:
    ngOnInit() {
        this.Preview.url
          .subscribe(new_url => this.url = new_url);
      }


    Подписчик не будет уничтожен при OnDestroy компонента, а будет слушать новый урл до тех пор, пока не выгрузится из памяти сборщиком мусора. Правильнее было бы сделать вот так:

    public previewUrl$: Observable<string>
    
    ngOnInit() {
        this.previewUrl$ = this.Preview.url
    }


    <div class="preview" *ngIf="(previewUrl$ | async) as url">
      <img class="preview__img" [src]="url">
    </div>


    В сервисе так же (https://github.com/BuG1K/task/blob/master/src/app/... вы подписались на http запрос и дальше не используете RxJS. Все манипуляции можно было сделать в tap/map и вернуть поток, с которым удобно работать.
    Ответ написан
    1 комментарий
  • Как сделать Link из функции в react?

    Alexangeras
    @Alexangeras
    Как-то так
    import React, { Сomponent } from 'react'
    import { withRouter } from 'react-rouer-dom'
    
    class Game extends Component {
      constructor(props) {
        super(props)
      }
      finishGames = () => {
        this.props.history.push("/finish")
      }
      render() {...}
    }
    
    export default withRouter(Game)
    Ответ написан
    Комментировать
  • Как сделать смену картинки body с таймером без анимации?

    Будет менять по кругу все картинки из списка:

    const pictures = [
    	{ src: 'src1', delay: 1000 },
    	{ src: 'src2', delay: 2000 },
    	{ src: 'src3', delay: 3000 },
    	{ src: 'src4', delay: 4000 },
    ]
    let current  = 0;
    
    function nextImage () {
      var img = new Image;
      img.src = pictures[current].src;
      img.onload = function () {
        document.body.style.backgroundImage = 'url(' + pictures[current].src + ')';
    
        current++;
        if (current >= pictures.length) current = 0;
    
        setTimeout(nextImage, pictures[current].delay);
      }
    }
    
    nextImage();
    Ответ написан
    3 комментария
  • Как выровнять текст?

    LenovoId
    @LenovoId
    svg, css,js
    Ответ написан
    Комментировать
  • Как выровнять текст?

    @ljutaev
    html-програмист
    Опишы лучше вопрос
    Ответ написан
    1 комментарий
  • Как выровнять текст?

    rockon404
    @rockon404
    Frontend Developer
    <div class=wrapper>
      <div>Text1</div>
      <div>Text2</div>
    </div>


    .wrapper {
      display: flex;
      justify-content: space-between;
    }
    Ответ написан
    Комментировать
  • Как выровнять текст?

    bolart
    @bolart
    программирую на PHP, хорошо знаю HTML, CSS, JQery
    .block{
    	text-align: justify;
    }
    Ответ написан
    Комментировать
  • Как на React можно реализовать scroll?

    0xD34F
    @0xD34F Куратор тега React
    onScroll = e => {
      if (e.target.offsetHeight + e.target.scrollTop === e.target.scrollHeight) {
        /*
         * здесь предпринимаете действия, имеющие своим результатом
         * демонстрацию дополнительного контента
         */
      }
    }

    <div onScroll={this.onScroll}>
      ...

    https://jsfiddle.net/kszqufd7/
    Ответ написан
    Комментировать
  • Как получить переменную из fetch?

    @webfln
    А какой цели вы пытаетесь достичь?
    Вариант это сохранить нужный промис и потом из него извлекать

    const fetchResult = fetch("api.kai-zer.ru/dev/method/products.getAll");

    fetchResult.then((r) => r.json()).then((data) => { console.log(data.response)})
    Ответ написан
    4 комментария
  • Как мне получить name?

    Xuxicheta
    @Xuxicheta
    инженер
    Как писали выше, сначала надо сделать .then(r => r.json()), чтобы распарсить JSON
    Но это не поможет, потому что вы, во-первых, используете запрещенный в скоупе window {mode: 'no-cors'}
    А во-вторых с сервера приходит некорректный JSON, там сначала хтмл разметка в тексте, видимо сервер вставляет это в случае cors-запроса.

    <br />
    <font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
    <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: host in /srv/SaraFannTest/public/index.php on line <i>33</i></th></tr>
    <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
    <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
    <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0001</td><td bgcolor='#eeeeec' align='right'>356992</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/srv/SaraFannTest/public/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>0</td></tr>
    </table></font>
    <br />
    <font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
    <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: scheme in /srv/SaraFannTest/public/index.php on line <i>34</i></th></tr>
    <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
    <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
    <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0001</td><td bgcolor='#eeeeec' align='right'>356992</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/srv/SaraFannTest/public/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>0</td></tr>
    </table></font>
    Ответ написан
    Комментировать
  • Как мне получить name?

    profesor08
    @profesor08 Куратор тега JavaScript
    fetch("api.kai-zer.ru/dev/method/products.getAll")
    .then(r => r.json())
    .then(data => {
      console.log(data.response);
    })
    Ответ написан
    1 комментарий