These are chat archives for dev-ua/reactjs

3rd
Jul 2017
Юрий Ярош
@yuriy-yarosh
Jul 03 2017 00:21
@finom как по мне то лучше использовать электродный electrode-redux-router-engine и electrode-react-ssr-caching.
Хоть можно не изобретать велосипеды, и без проблем кэширование прикрутить...
Bohdan Liashenko
@Bogdan-Lyashenko
Jul 03 2017 07:10
Всем привет, оставлю это здесь, возможно кому-то будет полезным. Entire ReactJS code base explanation by visual block schemes
https://bogdan-lyashenko.github.io/Under-the-hood-ReactJS/
Artem Kuzko
@akuzko
Jul 03 2017 11:22
@Bogdan-Lyashenko неплохо :+1:
Mahmoud Faour
@leedor55
Jul 03 2017 11:45
ERROR in ./src/index.js
Module build failed: SyntaxError: Unexpected token (17:2)

  15 | 
  16 | ReactDOM.render(
> 17 |   <Provider store={store}>
     |   ^
  18 |     <App />
  19 |   </Provider>
  20 |   , document.querySelector('.main'));
can anyone help me?
Denis Stoyanov
@xgrommx
Jul 03 2017 11:46
jsx?
Mahmoud Faour
@leedor55
Jul 03 2017 11:46
yeah
Denis Stoyanov
@xgrommx
Jul 03 2017 11:46
do u have a plugin for babel?
and it should be included
Mahmoud Faour
@leedor55
Jul 03 2017 11:47
yeah,
im using webpack, and the plugin is in there
 module: {
    rules: [
      { test:/\.js$/, use: 'babel-loader' , exclude: /node_modules/ },
Terry Sahaidak
@terrysahaidak
Jul 03 2017 11:57
@leedor55 can you show your .babelrc file?
Mahmoud Faour
@leedor55
Jul 03 2017 11:58
its in node_modles, and there is a lot of sources there
which one i have to show
Terry Sahaidak
@terrysahaidak
Jul 03 2017 11:59
no, it should be in the root of your project's directory

you need to create that file
.babelrc inside your project's root
then paste that code into .babelrc

{
  "presets": ["react", "es2015"]
}

then you need to install this presets

$ npm i --save-dev babel-preset-es2015 babel-preset-react

and then it should work

everdimension
@everdimension
Jul 03 2017 12:02
Подскажите, если я на инстансе класса компонента задаю свойства, надо следить за тем, чтобы референс на них стирать? Пример:
componentDidMount() {
   this.someDetachedDOMNode = something;
}
в componentWillUnmount есть необходимость писать this.someDetachedDOMNode = null?
Terry Sahaidak
@terrysahaidak
Jul 03 2017 12:04
ну я цим ніколи не упорювався
чисто теоретично, збирач мусору і так колись це почистить
Mahmoud Faour
@leedor55
Jul 03 2017 12:05
@terrysahaidak thanks it worked :)
everdimension
@everdimension
Jul 03 2017 12:07

@terrysahaidak

збирач мусору і так колись це почистить

ну вот я что-то не пойму, что происходит со свойствами класса, когда компонент анмаунтится

по идее наверное такая ручная чистка не требуется
Tryfonkov Yuriy
@tryfonkov
Jul 03 2017 14:05
Ребята, подскажите, пожалуйста: есть компонент-контейнер, в нем компонент, который рендерит список. В контейнере в componentDidMount запрос на сервер, после чего изменяется хранилище. Использую MobX. Так вот, список рендерится если контейнер сделать @observer. Если это установить для компонента-списка, то нифига не рендерится. В чем может быть причина?
Sergey Kostyrko
@srg-kostyrko
Jul 03 2017 14:26
@tryfonkov скорее всего у тебя список дереференсится в контейнере и в компонент ты передаешь уже список
при таком подходе нужен @observer на контейнере
чтобы компонент следил сам за измененифми списка - надо в него пробрасывать хранилище и уже в рендере получать доступ к списку
Tryfonkov Yuriy
@tryfonkov
Jul 03 2017 15:17
@srg-kostyrko Да. Сделал как подсказал и все работает. Но не понимаю, почему так работает :)
И в контейнере, и в компоненте это ObservableArray.