Максим, componentWillMount не получается использовать, возникает ошибка window not define, так как внутри функции window.addEventListener('resize', this.rafResize, this.eventOptions);
Максим, в layout и WW приходят корректные значения всегда. но при первичной загрузке страницы isMobile: false. Я не могу понять почему, если остальные переменные, от которых зависит isMobile корректные
davidnum95, должно быть что то типа этого this.setState({isMobile: containerWidth <= 700});
просто в этом примере, в отличие от вопроса, состояния isMobile может быть true или false, а в вопросе в состоянии число
Demian Smith,аааа)
1. создаются пустые массивы inHistory, inBook в них передаются результаты выполнения функции.
2. Создаем копии исходных массивов inHistoryOrig и inBookOrig, которые внутри obj, с ними и будет работать функция
3. в crossing храниться результат пересечения массивов inHistoryOrig и inBookOrig //[8,10]
4. Затем в цикле проходим по массиву пересечений (crossing)
4.1 при помощи findIndex находим индекс 8 из начального массива inHistoryOrig, при повторной итерации для 10 // индексы 2, 3
4.2 с помощью take берем из начального массива те элементы, которые стоят до пересечения ,т.е при первой итерации цикла это [1,6] , затем [1,6,8] и передаем эти значения в пустые массивы в начале (в inHistory)
4.3 drop удаляет из inHistoryOrig те элементы, которые мы тейком передали в inHistory
4.4 Первая интерация закончена, вторая аналогичная
5. передаем в пустой массив inHistory массив inHistoryOrig после всех итераций цикла
6. функция возвращает массив inHistory
Demian Smith, _intersection выводить массив из элементов, которые одинаковы для начальных массивов. в моем случае для [1,6,8,10] и [7,8,9,10,12] _intersection выведет [8,10]
Demian Smith, тут внутри цикла для обоих исходных массивов применяются одни и те же функции(findIndex, take, drop).Я думаю, нужно эти повторения запихнуть в функцию, где параметром и будут исходные массивы. Проблема в том, что у меня не получается эту функцию создать, т.е она не верно работает.
Собственно у меня получилось вот что
function columns(column) {
let index = findIndex(column, function(el){return el === crossing[i];});
let _take = take(column, index);
column = drop(column, index);
return _take;
}
Затем, при помощи push я добавляю результаты функции column в inHistory и inBook , но результат не тот что хотелось бы