Ilya
а самое странное что такое поведение только в продакшен сборке
Dmitry
Хм...
Vit
Ilya
грешил на recompact - но убрал все хоки. Поведение не поменялось
Vit
Дочерний знач чето еще кушает
Vit
Типа контекста
Ilya
нет
Ilya
обычный PureComponent
Vit
Это не ответ)
Vit
Надо искать
Ilya
принимает только пропсы. Контекста нет
Dmitry
а можешь показать кодЮ
Ilya
И ничто точно не объясняет разное поведение в prod и dev
Vit
Ну короч основной принцип дебага - чудес не бывает компьютер всегда прав)
Dmitry
я был точно также удивлен, когда код, который несколько месяцев работал исправно, вдруг стал невалидным и завалился в проде, с новой версией RN =)
Ilya
Dmitry
Ilya
Ilya
это родитель.
Ilya
блин - со вторым сложнее - я его серьзнее откатил) ну короче это был pureComponent c толко c didMount и render
Vit
Ilya
но не думаю что это поможет
Ilya
все проверки по типу DEV проверил.
Gena
Dmitry
я конечно могу ошибаться, но
Ilya
Dmitry
{{data && ( <Component /> )}} внутри render может быть удивительно непредсказуем
Ilya
Ilya
да и что там может быть непредсказуемого?
Dmitry
ну у меня прод валился бывало на таких конструкция из-за возвращаемого false
Vit
Ilya
Ilya
или углифай как то мог это страшно переписать?
Dmitry
Ilya
я кончно сейчас попробую, по скольку просто нет выбора... но прям совсем не верится. ререндера нет а remount дочернего есть
Ilya
нее
Ilya
эффект тот же
Gena
Я бы предпочел уведить минимальный сэмпл. Т.к. вроде, react и не дает гарантий (особенно после переезда на fibers) на отсуствие лишних рендеров, а вот с unmount/mount... это уже немного странно выглядит.
Gena
А, кстати, если рендерить тот компонент, что анмаунтится с "key", ситуация меняется?
Dmitry
Possibly some messed state situation, where render would erase element (aka return null) and then render it again.
Ilya
Dmitry
render is called on dynamic data - like it creates new node tree (even if it is the same as old) dynamicly (new data references created). You should only change props passed down.
Dmitry
это в обсуждениях реакта...
Gena
Вот вот... я про это же...
Dmitry
Component is used within an array in jsx, missing ‘key’ prop. In that case dev react build will throw warnings.
Gena
А вот тут я отдельно отмечу, я посоветовал key вставить не потому, что думаю, что там array, а потому что с помощью key, можно ещё привязать ноду к элементу, более "жестко" что ли.
Ilya
Ilya
Ilya
но key пробую
Dmitry
а actions
Dmitry
хотяэто уэже больше на бред похоже)
Gena
actions? по условиям задачи вроде HOCи отрубили... но если нет, то это первое, что надо сделать.
Gena
но key пробую
Можешь ещё, если не страшная тайна, заскриншотить (в dev-билде) дерево из react-devtools того участка, что мы рассматриваем?
Dmitry
@gblack9 пока вспомнил, есть ли варианты дебага mobx, как у redux ?
Dmitry
вроде есть дебаггер но у меня не получилось его завести с RN
Gena
Это заменяется большим кол-вом тестов для модели.
Dmitry
Dmitry
Ilya
Gena
дак в dev проблем нет
Да, но хочется хоть какое-то представление поиметь, о том, что рассматриваем. А то как игра "угадайка".
Ilya
Gena
В принципе при данных входных условиях, не должно быть проблемы с remount.
Ilya
мне кажется за более чем 4 года работы с реактом первый такая вот проблема что вообще не знаешь что делать))
Gena
Вот я и говорю... поэтому хочется как можно больше доп информации... отсюда и просьба поскриншотить дерево компонентов (м.б. там где-то context или hoc затерялся, может ещё что)
Ilya
нв самом деле там много котекстов и порталов, но блииин! не на этих компонентах
Vadim
Парни, кто знает на рынке проекты запущенные на RN в России?
Vadim
спасибо!
Ilya
чет сборка отказывается работать)))
Ilya
Gena
Опс... а это... веб?
Gena
Там есть ещё причины для ремаунта
Ilya