Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   React'а тред (https://javascript.ru/forum/offtopic/53890-react%27-tred.html)

FINoM 31.10.2015 23:22

Сколько ни смотрю на Реакт, одного не могу понять: почему этот виртуальный ДОМ так нахваливают. Не холивара ради, просто, правда, не понимаю. Получается, что они перед изменением вьюхи сверяют её с виртуальным представлением и меняют только то, что обновилось. Но чем это лучше dirty-check?

Zaveshanie 31.10.2015 23:51

Цитата:

Сообщение от FINoM
чем это лучше dirty-check?

Может и ничем. В React есть хитрый механизм(добавление ключей) оптимизирующий проверки вирт. DOM, сильно влияющий на скорость. Если в твоём dirty-check есть такие же оптимизации, то он может работать быстрее React. ;)

Скажу по секрету на React можно писать так, что он будет тормозить.

FINoM 01.11.2015 00:14

Zaveshanie, ну я не сравниваю dirty-check с виртуальным домом, я, скорее, хочу понять, чем он лучше отвутствия всяких проверок.

Mаxmaxmаximus 01.11.2015 03:32

FINoM, лол вы ребят путаете рендеринг и датабиндинг)

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


вот какую архитектуру щас делаю


FINoM 01.11.2015 13:52

Mаxmaxmаximus, а по теме можешь что-то сказать?

cyber 10.10.2016 10:30

разбираюсь с рекатом, сейчас читаю эту статью https://habrahabr.ru/company/mailru/blog/303456/ , не могу понять откуда взялось свойство props https://github.com/teropa/redux-voti...nents/Vote.jsx ??

Lemme 10.10.2016 12:25

что такое props
https://facebook.github.io/react/doc...ing-props.html

Откуда в компоненте Vote props
https://github.com/teropa/redux-voti...Voting.jsx#L14

cyber 24.10.2016 00:09

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

Without middleware, Redux store only supports synchronous data flow. This is what you get by default with createStore().
В принципе возникает вопрос, на что кроме redux есть смысел посмотреть, потому что вариантов много..

Lemme 24.10.2016 00:33

Цитата:

все было нормально пока не дошел до ассинхроных событий, и там уже начинается что то похожее на костыли.
cyber, жесть, т.е middleware пугают??

Это с redux-thunk, в большей степени этого middleware хватает для асинхронщины, да и выглядит он банально. https://github.com/gaearon/redux-thu...r/src/index.js

вся суть redux-thunk (без redux)
const dispatch = action => {
  // а это и есть вся суть redux thunk
  if (typeof action === 'function') {
    return action(dispatch) 
  }
  
  // это вместо next(action)
  console.log(action)
}

const syncAction = message => message

const asyncAction = message => dispatch => {
  setTimeout(() => {
  	dispatch(syncAction(message))
  }, 1000)
}

dispatch(syncAction('foo'))
dispatch(asyncAction('bar'))


а вот пример (из доки)
https://github.com/gaearon/redux-thunk#motivation

Цитата:

на что кроме redux есть смысел посмотреть
сейчас вроде как становится популярный mobx

cyber 24.10.2016 11:26

Lemme, меня больше смущает что то такое
store.dispatch(fetchPosts('reactjs')).then(() =>
  console.log(store.getState())
)


Часовой пояс GMT +3, время: 12:07.