Size: a a a

React — русскоговорящее сообщество

2020 July 15

TG

Timofey Goncharov in React — русскоговорящее сообщество
https://codesandbox.io/s/ww40y2m595

вот я нашел пример, хочу затестить. как мне быстро 200к инпутов сделать?)
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
https://codesandbox.io/s/ww40y2m595

вот я нашел пример, хочу затестить. как мне быстро 200к инпутов сделать?)
Чувак, я не буду обучать тебя библиотеке. Инпуты можешь рендерить так же как и везде: циклом
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Не просто.
https://final-form.org/docs/react-final-form/api/FormSpy и  вперёд. Отправляй стейт формы куда захочешь
источник

AS

Alexey Shumkin in React — русскоговорящее сообщество
даровте!
у меня нубский вопрос (надо разобраться с приложухой)
есть простенькое приложение
вроде как на реакте:
собирается npm run-script build
потом запускается node server.js

таки вот оно собирается в докер контейнер, в webpack.config.js прописана такая шняга

      plugins: [
       new webpack.DefinePlugin({
           "process.env": {
               DATASERVER: JSON.stringify("http://some-dataserver:3001")
           }
       }),

в коде потом используется типа
export function selectDate1(date){¬
 return dispatch => {¬
   var host = process.env.DATASERVER¬
   return fetch(host+"/service_stats/"+date, {¬
   method: 'GET'¬
 })¬
   .then(response => response.json())¬
   .then(json => dispatch(selectDate2(date, json)))¬
   .catch(error => console.error('Error:', error));¬
 }¬  


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

в других ЯП я могу задать параметр при запуске контейнера, и он будет его использовать...

вопрос следующий: как решается такая проблема с JS на реакте?
хочется собрать ОДИН образ , но запускать его на разных серверах?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Я знаю прерасно как работает файнал форм. Это не всегда удобно или всегда неудобно
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Я знаю прерасно как работает файнал форм. Это не всегда удобно или всегда неудобно
А что такое "удобно"?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Андрей Звёздочка
А что такое "удобно"?
Удобно когда стейт формы уже живет вне реакта.
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Dmitriy Shuleshov
Удобно когда стейт формы уже живет вне реакта.
Да, однако в случае форм стейт сложный, что не уверен, что хочется его внаружу выносить. Как минимум это будет мешать обновлению либы очень сильно.
Даже в библиотеке чувака выше 100500 полей служебных есть. И это просто поделка на коленке
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Да, однако в случае форм стейт сложный, что не уверен, что хочется его внаружу выносить. Как минимум это будет мешать обновлению либы очень сильно.
Даже в библиотеке чувака выше 100500 полей служебных есть. И это просто поделка на коленке
мотивация написания была как раз в том, что многие библиотеки слишком изолируют стейт формы и усложняют его. в итоге  управлять стейтом формы не возможно и манипулировать им тоже.

мне вроде как удалось решить эту проблему.

во всяком случае получить доступ к $values на глобальном уровне запросто, и изменять $values как мне взудмается что бы это повлияло ожидамым образом на рендер, мне тоже удалось.
источник

A

Andrey in React — русскоговорящее сообщество
Timofey Goncharov
мотивация написания была как раз в том, что многие библиотеки слишком изолируют стейт формы и усложняют его. в итоге  управлять стейтом формы не возможно и манипулировать им тоже.

мне вроде как удалось решить эту проблему.

во всяком случае получить доступ к $values на глобальном уровне запросто, и изменять $values как мне взудмается что бы это повлияло ожидамым образом на рендер, мне тоже удалось.
осталось добить оптимизацию, и будет вполне неплохо, наверное)
(апи не чекал, сорре)
источник

ia

igor abramenkov in React — русскоговорящее сообщество
добрый день, не подскажете, почему возникает такая ошибка " Rendered more hooks than during the previous render"
 const renderMyGroups = ()=>{
       if(Meteor.user()!==null){
           const myGroups = useTracker(() => Groups.find({owner: Meteor.user()._id}, { sort: { createdAt: -1 } }).fetch(), []);
           return myGroups.map((group) => {
               return (
                   <Group
                       key={group._id}
                       group={group}
                   />
               );
           });
       }
       return 'Вы не залогинены';
   };
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
https://codesandbox.io/s/react-final-form-simple-example-cswer?file=/index.js

кто шарит в final-form.
почему не могу изменять инпуты?
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Andrey
осталось добить оптимизацию, и будет вполне неплохо, наверное)
(апи не чекал, сорре)
ну в сравнении с formik и redux форм на мой взгляд с оптимизацией проблем нет. но да, я планирую еще глубже сравнить и если нужно добиться максимальной оптимизации.
источник

I

Igor in React — русскоговорящее сообщество
Alexey Shumkin
даровте!
у меня нубский вопрос (надо разобраться с приложухой)
есть простенькое приложение
вроде как на реакте:
собирается npm run-script build
потом запускается node server.js

таки вот оно собирается в докер контейнер, в webpack.config.js прописана такая шняга

      plugins: [
       new webpack.DefinePlugin({
           "process.env": {
               DATASERVER: JSON.stringify("http://some-dataserver:3001")
           }
       }),

в коде потом используется типа
export function selectDate1(date){¬
 return dispatch => {¬
   var host = process.env.DATASERVER¬
   return fetch(host+"/service_stats/"+date, {¬
   method: 'GET'¬
 })¬
   .then(response => response.json())¬
   .then(json => dispatch(selectDate2(date, json)))¬
   .catch(error => console.error('Error:', error));¬
 }¬  


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

в других ЯП я могу задать параметр при запуске контейнера, и он будет его использовать...

вопрос следующий: как решается такая проблема с JS на реакте?
хочется собрать ОДИН образ , но запускать его на разных серверах?
наверняка можно переопределить переменную среды, в @webpack_ru должны знать
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
мотивация написания была как раз в том, что многие библиотеки слишком изолируют стейт формы и усложняют его. в итоге  управлять стейтом формы не возможно и манипулировать им тоже.

мне вроде как удалось решить эту проблему.

во всяком случае получить доступ к $values на глобальном уровне запросто, и изменять $values как мне взудмается что бы это повлияло ожидамым образом на рендер, мне тоже удалось.
Покажи мне где ты можешь легко вытаскивать значения полей в глобальный стейт. http://effector-react-form.webstap.ru/en/examples/set-values-global?
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Покажи мне где ты можешь легко вытаскивать значения полей в глобальный стейт. http://effector-react-form.webstap.ru/en/examples/set-values-global?
$values  и есть глобальный стейт основнный на effector. если в приложении используется он, то все готово для массы операций.

а просто получить стейт можно так

$values.getState()

или $values.watch((state) => console.log(state))
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
$values  и есть глобальный стейт основнный на effector. если в приложении используется он, то все готово для массы операций.

а просто получить стейт можно так

$values.getState()

или $values.watch((state) => console.log(state))
Т.е. 2 формы на одной странице быть не могут у тебя?
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Я знаю что такое эффектор. И, возможно, лучше тебя. Считай, что не надо объяснять всё что он делает
источник

A

Andrey in React — русскоговорящее сообщество
Андрей Звёздочка
Покажи мне где ты можешь легко вытаскивать значения полей в глобальный стейт. http://effector-react-form.webstap.ru/en/examples/set-values-global?
я вот кстати тоже глянул, в итоге увидел только хук, который по определению вью слой 🌚
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
Андрей Звёздочка
Т.е. 2 формы на одной странице быть не могут у тебя?
там можно немного поколдовать, чтобы это работало
источник