
Ilya Shurikov
06.03.2017
18:35:50
да и просто, тот факт, что людей с текстовым восприятием больше чем со звуковым

Сергей
06.03.2017
18:36:31
достаточно много книг по психологии приводят сей факт

Ilya Shurikov
06.03.2017
18:38:48
блин, можно не так размыто

Kreizo
06.03.2017
18:44:05
ребят подскажите как добавлять по клику дополнительные филды в redux form

Google

Kreizo
06.03.2017
18:45:30
http://i.prntscr.com/5f6fcfb0b4054a168b64595aba6e1171.png
это то что мне нужно ?
{this.props.meta.authors.map((item, index) => {
return (
<div key={shortid.generate()} >
<Field label='Автор' name={`name_${index}`}
type='text' component={renderInput}
/>
<Field label='Место работы:' name={`affiliation_${index}`}
type='text' component={renderTextarea}
/>
</div>
)
})}
есть вот такой массив

Razzwan
06.03.2017
19:20:19

Kreizo
06.03.2017
19:21:18
спасибо
вроде все работает
const renderSubFields = (member, index, fields) => (
<div className='author-field' key={index}>
<Field
name={`${member}.firstName`}
type='text'
component={renderInput}
label='Автор'
/>
<Field
name={`${member}.lastName`}
type='text'
component={renderTextarea}
label='Место работы'
/>
<div className='button-author remove-author' onClick={() => fields.remove(index)}>
×
</div>
</div>
)
const renderMembers = ({ fields }) => (
<div>
{fields.map(renderSubFields)}
<div className='button-author add-author' onClick={() => fields.push({})} >
+
</div>
</div>
)
но нужно еще поля с пропсов сразу рендерить
выходит только плюсик и 0 полей пока не клацнешь
http://redux-form.com/6.5.0/examples/fieldArrays/
http://i.prntscr.com/8c05451cadcd4f21a45bd94f2a5a0e7d.png
как например сделать что бы 2 было изначально запушены

Google

Kreizo
06.03.2017
20:56:33
или функционал ридакс-форм не позволяет этого сделать

Anton
06.03.2017
21:25:42
Redux-form 100% писали не самые и умные и не самые добрые(раз уж такую подставу написали) люди.

Kreizo
06.03.2017
21:26:42
https://github.com/erikras/redux-form/issues/2325
вроде нашел какую то функцию
куда не засуну одни ошибки
unregisterField(form:String, name:String)

Anton
06.03.2017
21:27:26
Самое главное, что нужно помнить - что redux-form это две маленькие чтучки, что конектят стор в контекст(connect) и значение в input(Field). Больше ничего не делает. Не ищите магии там, где надо самому код писать
Чтобы убрать поле, надо его просто _не_рендерить_

Kreizo
06.03.2017
21:28:58
мне по клику нужно

Anton
06.03.2017
21:29:00
А как решить надо ли его рендерить, или нет - это вопрос не к redux-form
Опять же - сотри redux-form, и сделай чтобы по клику работало. А потом верни его обратно

Kreizo
06.03.2017
21:29:20
хотя я нашел выход
точно
он change
и просто скрыть display none

Anton
06.03.2017
21:30:18
Не тру вей

Kreizo
06.03.2017
21:31:57
ничего не понял как выход искать
нужно просто удалять инпуты с кнопки
добавлять я уже сделал и удалять, но только те которые новые)
а про рендере изначально компонента есть филды тоже

Google

Kreizo
06.03.2017
21:33:15
https://github.com/erikras/redux-form/issues/2325
это не решение ?

Yan
06.03.2017
21:35:40
http://reactpatterns.com/#conditional-rendering

Kreizo
06.03.2017
21:36:40
по клику же удалять нужно, а не по условию при маунте компонента

Anton
06.03.2017
21:36:50
Какая разница?
У тебя там точно реакт?

Kreizo
06.03.2017
21:37:05
точно)
я точно знаю в ридакс форм это можно сделать
там же есть функции по типу unregisterField
ну у меня она что-то отказывается работать
это же швейцарский нож для формошлепства
хотя я уже жалею что начал его использовать)

Kreizo
06.03.2017
21:39:49
я бы сделал это все быстрей на чисто реакте

Anton
06.03.2017
21:42:11

Kreizo
06.03.2017
21:42:41
сейчас меня обоссут ?

Yan
06.03.2017
21:42:47
и подожгут

Anton
06.03.2017
21:42:56
Ты какнить ради интереса почитай их changelog. Когда они уже были “швейцарским ножом” у них не было прям жизнено необходимых вещей. Да и сейчас нет.
Просто альтернатив особо нет :)
Да и баги серьезные есть, их править не очень спешат

Yan
06.03.2017
21:43:21
вчера вроде рекомендовали ещё какую-то штуку

Google

Yan
06.03.2017
21:44:30
как раз для форм

Anton
06.03.2017
21:45:36
В общем не забывай главное - 99% is библиотек - это просто кто-то написал, а потом бомбануло. Про качество там ни слова нет.
Тоже самое со звёздочками - кто-то в чатике ссылку кинул с рекомендацией, их и добавилось.

Yan
06.03.2017
21:47:13
или ден абрамов твитнул
по аналогии
в таймерами в редуксе доводилось работать?
https://medium.com/@machadogj/timers-in-react-with-redux-apps-9a5a722162e8#.tu8p6sjkj
тут пишут про 3 стратегии

Admin
ERROR: S client not available

Yan
06.03.2017
21:48:28
тл:др - либо в стейте локально, либо в сторе диспатчить двумя вариантами
пишут что у 2 и 3 варианта кошернее получается
но у меня сомнения
что там будет с произвоительностью
если каждую секунду в стор диспатчить

Дмитрий
06.03.2017
22:21:39

Yan
06.03.2017
22:22:17
ты имеешь в виду mapStateToProps привязку?
или реселект?

Vladimir
06.03.2017
22:23:23
котеи

Дмитрий
06.03.2017
22:23:28
Любой вариант, какой больше понравится)

Vladimir
06.03.2017
22:23:31
нужен кто-то кто в теме за css-modules

Google

Yan
06.03.2017
22:23:43
спс

Дмитрий
06.03.2017
22:24:50

Vladimir
06.03.2017
22:25:00
у меня есть пакет
initize
мне нужно composes
можно ли сделать так
// once in your project, specify your
// ./src/components/app-initize/index.css
.appinitize {
composes: initize from "initize/index.css";
'font-family': 'Arial, sans-serif';
'quotes': '"“" "”" "‘" "’"';
'color': 'black';
'outline-color': 'black';
}

Paul
06.03.2017
22:28:46
Что такое пакет в css?

Vladimir
06.03.2017
22:29:01
npm package

Paul
06.03.2017
22:30:36
Не могу найти такой пакет.

Vladimir
06.03.2017
22:31:10
я его пока не опубликовал
https://github.com/iamstarkov/initize

Paul
06.03.2017
22:32:23
composes: initize from "initize/index.css";
А что это должно означать?
Скомпозировать класс initize из "initize/index.css"?

Vladimir
06.03.2017
22:32:42
ты знаешь про css modules?

Paul
06.03.2017
22:33:10
Да, я пытаюсь понять что ты хочешь сделать

Vladimir
06.03.2017
22:34:11
я хочу сделать смерджить простой инитайз
с дефолтным цсс для проекта
как в jss например
import initize from 'initize';
const basic = {
'font-family': 'Arial, sans-serif',
'quotes': '"“" "”" "‘" "’"',
'color': 'black',
'outline-color': 'black',
}
const appInitize = Object.assign({}, initize, basic);
export default appInitize;

Paul
06.03.2017
22:35:24
composes не мержит стили, он мержит имена классов