Size: a a a

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

2021 January 09

d

dsgnrvd in React — русскоговорящее сообщество
dsgnrvd
вроде как да, потому что компонент связанный с классом MobX через хук - ре-рендерится. а дефолтное значение - пустой объект (перед переходом на другой роут объект - не пустой)
поэтому quick fix -
choicedTest: JSON.parse(localStorage.getItem('choiced-test') || '{}'),
источник

И

Иван in React — русскоговорящее сообщество
dsgnrvd
можно юзать локалсторадж. но тут скорее вопрос в том, что "нормально ли это" (сбрасывание стейта между роутами)
Не нормально
источник

NT

Nikita Titov in React — русскоговорящее сообщество
kebab Anatol'evich
ребят, подскажите куда смотреть, есть 2 объекта, мне нужно сравнить их value, допустим if(obj.name == obj1.name){return obj.value} и это значение мне нужно вставить в таблицу
<td>{obj.name == obj1.name && obj.value}</td>
источник

d

dsgnrvd in React — русскоговорящее сообщество
Иван
Не нормально
как быть тогда?
источник

d

dsgnrvd in React — русскоговорящее сообщество
че то я не могу придумать даже куда копать, чтобы это пофиксить без локалстораджа
источник

И

Иван in React — русскоговорящее сообщество
dsgnrvd
как быть тогда?
Искать причину, по которой стейт сбрасывается. Потом устранять её
источник

d

dsgnrvd in React — русскоговорящее сообщество
Иван
Искать причину, по которой стейт сбрасывается. Потом устранять её
при смене роута компонент ре-рендерится
источник

И

Иван in React — русскоговорящее сообщество
dsgnrvd
при смене роута компонент ре-рендерится
И при нормальном положении вещей это никак не должно влиять на стор mobx. Потому что компоненты читают стор и меняют его явным образом. Где-то в коде у тебя есть кусок, который сбрасывает состояние в сторе
источник

J

Jeimip in React — русскоговорящее сообщество
Иван
Как это связано со словосочетанием «провалидировать функцию»?
Сорри, не так понял вопрос
источник

d

dsgnrvd in React — русскоговорящее сообщество
Иван
И при нормальном положении вещей это никак не должно влиять на стор mobx. Потому что компоненты читают стор и меняют его явным образом. Где-то в коде у тебя есть кусок, который сбрасывает состояние в сторе
я делал
export class Module {}

в компоненте
import { Module } from '../stores/modules';
const [module] = React.useState(() => new Module())
источник

d

dsgnrvd in React — русскоговорящее сообщество
и стейт сбрасывался. если сделать инстанс внутри ../stores/modules/Module, то при смене роута состояние сохраняется
источник

d

dsgnrvd in React — русскоговорящее сообщество
dsgnrvd
и стейт сбрасывался. если сделать инстанс внутри ../stores/modules/Module, то при смене роута состояние сохраняется
class Module {}

export const instanceModule = new Module();

в компоненте
import { instanceModule } from '../stores/modules';
const [module] = React.useState(() => instanceModule)
;
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
Привет. Кто знает разрешено ли google adsense перезагружать компоненту с рекламой при добавлении query параметров в URL? Я знаю если URL меняется, то можно. Но тут всего лишь добавляется query. Хочу в SPA приложении на каждом действии юзера сделать изменение query и навешать слушателя, чтобы он перезагружал компонент с рекламой. Ну типа человек комментарий написал и добавляется query, и реклама перезагружается. Ну и даже на действия типа лайк тоже самое сделать
источник

d

dsgnrvd in React — русскоговорящее сообщество
Иван
И при нормальном положении вещей это никак не должно влиять на стор mobx. Потому что компоненты читают стор и меняют его явным образом. Где-то в коде у тебя есть кусок, который сбрасывает состояние в сторе
короче, в коде нигде я не сбрасываю этот стейт. он сбрасывается если инстанс внутри хука useState юзать.
источник

d

dsgnrvd in React — русскоговорящее сообщество
dsgnrvd
короче, в коде нигде я не сбрасываю этот стейт. он сбрасывается если инстанс внутри хука useState юзать.
issue что ли создать у них в репозитории... непонятный момент
источник

d

dsgnrvd in React — русскоговорящее сообщество
в examples документации есть строчка, где создается новый инстанс внутри хука useState
источник

И

Иван in React — русскоговорящее сообщество
dsgnrvd
class Module {}

export const instanceModule = new Module();

в компоненте
import { instanceModule } from '../stores/modules';
const [module] = React.useState(() => instanceModule)
;
А зачем ты в стейт компонента кладёшь стейт стора? Зачем тебе два стейта? Чтобы запутываться, какой сбрасывается, а какой — нет?
источник

И

Иван in React — русскоговорящее сообщество
dsgnrvd
я делал
export class Module {}

в компоненте
import { Module } from '../stores/modules';
const [module] = React.useState(() => new Module())
Очевидно, он должен сбрасываться — ты на каждый маунт компонента создаёшь НОВЫЙ стор
источник

d

dsgnrvd in React — русскоговорящее сообщество
Иван
А зачем ты в стейт компонента кладёшь стейт стора? Зачем тебе два стейта? Чтобы запутываться, какой сбрасывается, а какой — нет?
источник

d

dsgnrvd in React — русскоговорящее сообщество
Иван
А зачем ты в стейт компонента кладёшь стейт стора? Зачем тебе два стейта? Чтобы запутываться, какой сбрасывается, а какой — нет?
а как вы определяете стор? я увидел только вариант с хуками
источник