Vladislav
с сахаром по типу геттеров
Roman
Обязательно почитаю
Vadim
Немного не по теме. А какие сейчас самые популярные библиотеки типа bootstrap?
Dmitry
ребят, как мне во vuex получить lifecycle hooks какие-то
Dmitry
или закостылить их ?
Vladislav
а какие там могут быть хуки?
Dmitry
init, destroy
Dmitry
надо на инит вызвать какой-то екшин допустим
Vladislav
мне кажется что он инится на beforeCreated, а убивается на destroyed инстанса
Dmitry
мне именно в модуле vuex надо эти хуки
Dmitry
ну т.е я могу и без них обойтись но это будет выглядеть больше как костыль
Andriy
Ребятки, кто-то из вас работал с React? Можно ли в нем рендерить компоненты прямо в html, так же как в Vue?
Andriy
К примеру в index.html следующее:
Andriy
<div> <myCustomComponent/> </div>
Andriy
?
Rafael 🌵
init, destroy
Ну кажется это делается через actions и их вызовы в корневой компоненте
Dmitry
одного типа
Dmitry
или нестинг
Rafael 🌵
Действия могут вызывать действия
Dmitry
Действия могут вызывать действия
понятно, но это руками все надо будет по цепоцке вызывать
Rafael 🌵
К сожалению - да
Rafael 🌵
Как жаль, что у vuex нет мидлварей
Dmitry
хотя если переопределить пару прототайпов во vuex
Dmitry
он же рекурсивно парсит эти модули
Dmitry
плагин не прокатит
Rafael 🌵
Почему?
Dmitry
а что он даст тебе ?
Rafael 🌵
А да, соглашусь
Vladislav
Ребятки, кто-то из вас работал с React? Можно ли в нем рендерить компоненты прямо в html, так же как в Vue?
в рендере можно обьявлять, вот с моего плейграунда примерчик render() { const App = ( <div> <h2>Input your name</h2> <input type="text" value={this.state.user.name} placeholder='%name%' onChange={(e) => this.handleChange(e)}/> <h1>{this.state.user.name.length > 0 ? 'Hello,' : ''} {this.state.user.name}</h1> <button onClick={(e) => this.addToList(e)}>Add my name to list</button> <List ref={instance => { this.List = instance; }}></List> </div> ); return App; }
Vladislav
list - компонент)
Rafael 🌵
Rafael 🌵
Для модулей
Rafael 🌵
И там определить лайфсайкл методы 🤔
Dmitry
ну init можно сделать просто в функции стейта писать этот код
Dmitry
А если сделать функции фабрики?
ну да, но что бы каждый модуль не оборачивать сделать это в одном месте
Dmitry
что бы каждый модуль в эту фабрику оборачивался
Rafael 🌵
Ещё у vuex есть функции регистрации и удаления модуля
Rafael 🌵
Возможно, их тоже можно использовать как-то
Dmitry
тут фабрика надо которая лайфсайкл хуки добавляет
Dmitry
и вызывает чайлдовые хуки
Dmitry
хотя лучше наверн просто фабрикой без изменения прототипов
Dmitry
<div> <myCustomComponent/> </div>
в реакте код в jsx пишется, а не в хтмл
Vladislav
Так render же выносится в jsx файл?
да я думал ты про html в темплейте говорил
Rafael 🌵
Слушай, а ты ведь так или иначе в vuex.createStore пихаешь объект с описанием хранилища и всех его методов
Rafael 🌵
Можно ведь прослоечку сделать, которая пройдетчя рекурсивно по декларации и добавит все что нужно
Dmitry
ну я про это и думал
Dmitry
функция от модуля которая екшины добавит
Rafael 🌵
👍
Dmitry
трабла в том, что если тебе где-то в чилдрене надо, то надо всех выше оборачивать
Andriy
да я думал ты про html в темплейте говорил
Нет. Я про то что хочу использовать компоненты React в файлах с расширением .html
Dmitry
я бы хотел как mobx-state-tree
Dmitry
Dmitry
оч удобно
Rafael 🌵
Кстати, ещё и миксин потребуется, я так думаю
Rafael 🌵
Ну все, более или менее ясно что нужно делать, на самом деле: Функция для рекурсивного обхода дерева модулей + соглашение о нейминге лайфсайкл действий + миксин
Dmitry
а миксин к чему тут ?
Rafael 🌵
а миксин к чему тут ?
Кто-то же должен вызывать лайфсайкл методы
Dmitry
ну вьюкс же может не быть привязан к инстансу vue
Rafael 🌵
Может, но тогда он теряет реактивность
Rafael 🌵
А если ее нет, то зачем vuex?
Rafael 🌵
Тогда ещё в корешке vuex придётся хранить состояние жизненного цикла 🤔
Rafael 🌵
А если хранить состояние, то уже вместо миксина плагин для vuex писать, с подпиской
Dmitry
А если ее нет, то зачем vuex?
ну допустим мы создали вьюхкс в сервис воркере ))
Dmitry
хд
Dmitry
ну вообще да
Dmitry
А если ее нет, то зачем vuex?
вот такая стемота вышла
Игорь
А можно ли как-то сделать прослеживание на дорбавление елементов в масив?
Игорь
И при изменении вызывать евент
Игорь
Делать через beforeUpdate и updated?
Nikita
watch повесь на массив и все
Rafael 🌵
вот такая стемота вышла
У тебя проверки нет, что если уже есть действие с таким именем, то используем его, а если нет, то генерим свое
Rafael 🌵
ну допустим мы создали вьюхкс в сервис воркере ))
Тоже думал об этом на днях буквально, и пришёл к выводу, что он не особо юзабелен в воркерах -_-
Anonymous
Здорово, ребята! У меня возникла проблема с реализацией One way data flow. Дело в том что при передаче массива или объекта из родительского компонента в дочерний при мутации его в дочернем объекте также происходит мутация и в родительском. Мне бы это исправить. Пробовал Vuex, но там тоже ничего не мешает мутировать состояние из компонентов даже без коммитов мутаций.