Данил
Эту функцию вставь в className. Вот так: <div className={styles()}></div>
Anton
да тут еще даже до функции не добраться
Данил
Всмысле? Скинь код компоненты
Данил
куда пробрасываешь стили
Anton
мне не сам переключатель нужен, а тупо синтаксис как переменную вписать в класснейм
Anton
щас
Anton
const Message = props => { let authorStyle = 's.'+ props.messages.author; return <div className={`${authorStyle}`}>{props.messages.author}: {props.messages.message}, {authorStyle}</div>; };
Anton
стринг s.me сгенерился, вписался, но как класс не распознается
Данил
Потому, что s.me должен получить webpack, а не твой браузер. Webpack получая s.me превращает это в - me_blablabla_kakayata_huiny
Данил
А так как webpack у тебя не получает s.me - стили не работают
Anton
ага, я вижу, так и получается в консоли, если тупо вот так писать return <div className={s.me}>{props.messages.author}: {props.messages.message}</div>; а вот так работает
Anton
тогда вопрос мой поумнее формулируется: как передать стиль так, чтоб его увидел вебпак?)
Dmitry
Когда перешел на Vue.js, но всё равно пишешь как-то по-реактовски 😄
Данил
тогда вопрос мой поумнее формулируется: как передать стиль так, чтоб его увидел вебпак?)
Вот для твоего кода реализация const Message = props => { const authorStyle = () => { switch (props.messages.author) { case 'me': return s.me default: return null } } return <div className={authorStyle()}>{props.messages.author}: {props.messages.message}, {authorStyle}</div>; };
Anton
ааа, не строкой а функцией передавать, у которой содержимое - эта строка?
Данил
Да
Данил
Да
Данил
ДА
Данил
👍
Anton
мой моск
Anton
спс
Данил
Ну вообще суть в том, что в пропсах стили ты передавать должен в качестве строки - эти строки сравниваются в функции и если совпадает, то функция возвращяет s.style в className перез попаданием в браузер и webpack видит нужный стиль.
Anton
Ну вообще суть в том, что в пропсах стили ты передавать должен в качестве строки - эти строки сравниваются в функции и если совпадает, то функция возвращяет s.style в className перез попаданием в браузер и webpack видит нужный стиль.
суть чего?) да, я сейчас как раз в эту функцию и загоню переключатель класса (до этого хотел в мапс проверку загнать, а сюда уже готовый класс передавать). Проблема в том, что я понятия не имел про то, как и что видит вебпак
Anton
Да и сейчас, честно сказать, понятия не имею))) Просто запоминл. Например вот тут же стринг генерится в класснейме? из функций, но ведь все равно стринг))) http://joxi.ru/8An8qkqU716L1m
Vlad
Помогите, пожалуйста, советом, в какую сторону копать. После 43 урока, когда оставляешь компоненту чистой, а приходящие данные и.т.п оборачиваешь отдельно в контейнер, то у меня при добавлении сообщения в разделе Профайла, сообщение всегда добавляется пустое, если смотреть через React tools то вместо текста у него undefined. В какую сторону копать? Уже который день не получается найти причину
Vlad
объяснил так себе конечно, но возможно ты не прокидываешь нужные пропсы из контейнера во вьюху
если честно, я не знаю, как еще объяснить)) разве только с примерами кода, но т.к. для этого действия задействовано много компонентов, то я не буду же целые простыни кода скидывать.. думал, может подскажут с чего начать копать. собственно, пропсы прокидываю как и функцию для коллбэка... <PostBoard addPost={ addPost } posts={state.contentPage.posts} />
Paca
this.state
Paca
https://github.com/azat-io/you-dont-know-js-ru/blob/master/this%20%26%20object%20prototypes/README.md#you-dont-know-js-this--object-prototypes
Vlad
this.state
вопрос, а почему? по уроку там таким образом не делается да и плюс в самой контейнерной компоненте - let state = props.store.getState();
Vlad
Paca
чет стремное
Paca
зачем компоненту доступ ко всему стору?
Vlad
let state = props.store.getState().contentPage; — имеешь ввиду поменять на это?
Paca
да нет, если такой подход используется, то должно работать, у Димыча в курсе вот прям 1 в 1 как у тебя?
Vlad
let state = props.store.getState() - если касаемо этой строки, то да
Paca
а видимо там еще редакс не подрубал он ?
Paca
показывает суть редакса?
Vlad
не не, это уже с подрубленным редаксом
Vlad
т.е. редьюсеры уже есть
Dmitry
Как сказать IDEA, что я на Vue пишу, и всё с кодом нормально?
Paca
так вывtдb в консоль тогда props.store.getState()
Paca
во вюьюхе твоей
Paca
что там прилетает
Paca
не знаю что за подход такой Димыч использует, но подозрения что редакс сам еще не ставил
Paca
компонента с тору коннектится через connect из react-redux
Vlad
Paca
и где то выше он прокидывает весь store?
Paca
по дереву компонентов?
Vlad
ну у меня есть отличия, у меня не слово в слово выше у меня компонента Content из нее кидаю <ContentContainer store={props.store} />
Paca
а эта компонента откуда store берет?
Vlad
а выше App из который через роутинг <Route path="/content" render={() => <Content store={props.store} />} />
Paca
а апп коннектится сам к редаксу?
Paca
и оттуда достает весь стор?
Vlad
нет, еще выше есть index.js в которой <App state={state} store={store} dispatch={store.dispatch.bind(store)} />
Vlad
import store from './redux/redux-store';
Paca
import store from './redux/redux-store'; значит стор у вас самописный
Paca
знач редакс не подрубали )
Paca
npm i react-redux redux —save делали ?)
Vlad
да в redux-store.js как раз таки все сделано
Vlad
Paca
странное что-то происходит, зачем тогда весь стор прокидывать по дереву компонентов если можно для каждого компонента вытягивать необходимый кусок стейта из стора, подозреваю Димыч что-то этим хочет показать
Paca
к вопросу о проблеме
Paca
покажи вюху твою которая должна посты отрендерить
Paca
ты же должен брать значение из texarea и передавать его в addPost?
Paca
так же?
Vlad
да, все верно
Paca
а чего ты этого не делаешь?
Paca
у тебя наверху в контейнера аргумент функции будет undefined
Paca
потому что ты не передаешь туда текст
Vlad
ты имеешь ввиду, что сделать так? : let addPost = (text) => { props.addPost(text);
Paca
тебе надо сначала собрать значение с text-area
Vlad
до этого там были рефы, но их удалили
Paca
Димыч через ref делает еще или уже дошли до контролируемых инпутов?
Vlad
я тоже об этом думал