
Evansir
08.07.2018
11:48:01
вызывается
componentWillReceiveProps(nextProps) {
if (this.props.data.length != nextProps.data.length) this.forceUpdate()
}
но это вызывает только ошибку null is not an object
да лог вызывается

Google

Vladimir
08.07.2018
11:51:11
Так не проверяйте длину, если data null

akaSybe
08.07.2018
11:52:12
Задай initialState

Vladimir
08.07.2018
11:54:16

akaSybe
08.07.2018
11:54:28
или defaultProps

Evansir
08.07.2018
11:54:28
componentWillReceiveProps(nextProps) {
if (nextProps.data != null) {
if (this.props.data.length != nextProps.data.length) this.forceUpdate()
}
}
ничего не изменило

Vladimir
08.07.2018
11:54:54
Так не в nextProps дело

Evansir
08.07.2018
11:54:59
вот редакса инитиал стейт
const initialStateTabSaved = {
data: []
}

Vladimir
08.07.2018
11:55:10
У вас изначально данных нет

Evansir
08.07.2018
11:55:45
export const reducersTabSaved = (state = initialStateTabSaved, action)

Vladimir
08.07.2018
11:57:48
Если у вас null, значит вы data где-то обнуляете, чудес не бывает

Google

Evansir
08.07.2018
11:58:39
Если у вас null, значит вы data где-то обнуляете, чудес не бывает
case actionTypes.RELOAD_DATA_TAB_SAVED:
return {...state, data: action.payload.data}
break
case actionTypes.SAVE_ITEM_TAB_SAVED:
return {...state, data: [...state.data, action.payload.item]}
break
case actionTypes.DELETE_ITEM_TAB_SAVED:
return {...state, data: action.payload.data}
break
это все что в редюсере
кроме дефаул
Единственное что меня смущает
[TypeError: Object is null or undefined]
line: 1090,
column: 59,
появляется при первом сохранении
после перезапуска все работает как нужно

akaSybe
08.07.2018
12:07:04
так может воткнешь редакс логгер и посмотришь какой стейт после какждого действия?

Evansir
08.07.2018
12:07:10
но ссылается оно, для меня, не понятно на что
как то так
проблема в том, что данный редюсер не инициализирует данные своего стейта
по какой-то причине
если сохранить - удалить - сохранить
стейт инициализируется и все начинает работать как нужно
может кто прочитает и подскажет, кину код самого создания стора ?
const rootReducer = combineReducers({
reducersExploreTab,
reducersMainContainer,
reducersTabSaved,
})
export function configureStore() {
const store = createStore(rootReducer, applyMiddleware(thunk, logger))
return store
}

akaSybe
08.07.2018
12:57:47
создай репозиторий где воспроизводится ошибка
чтобы можно было склонировать

Google

akaSybe
08.07.2018
12:58:18
не обязательно всё приложение
неужен лишь минимально воспроизводимый пример

Evansir
08.07.2018
13:00:07
на гитхабе?

akaSybe
08.07.2018
13:00:20
да хоть зип

Evansir
08.07.2018
13:01:01
Хорошо, еще позанимаюсь дурней, если не выйдет тогда создам
Все нашел
Проблема была в экшене который присваивал null
Причина всех проблем - моя малая грамота в js
я думал что даже если присвоен null, то следующее значение перепишет переменную

Vladimir
08.07.2018
13:36:40

Evansir
08.07.2018
13:38:15
Угадал)
Да, благодарю, я в этом направлении и начал рыть

Vladimir
08.07.2018
13:39:40
Рады помочь

Vadim
08.07.2018
20:09:32
Какой андроид телефон купить для тестов? Чтобы такой народный, популярный.

Vladimir
08.07.2018
20:18:05
Cильно зависит от локации и аудитории. Для большинства тестов вам хватит эмулятора. Классический телефон разработчика - pixel/nexus, чем свежее, тем лучше. Ну и самсунги S-серии, разумеется.
Но опять же, я бы не стал заморачиваться ровно до тех пор пока вам будет хватать эмулятора. Все device-specific баги вы даже с полусотней девайсов не отловите.

Vadim
08.07.2018
20:26:12

Vladimir
08.07.2018
20:28:15

Vadim
08.07.2018
20:28:32

?
08.07.2018
20:30:24

Artem
08.07.2018
20:54:55

Google

?
08.07.2018
20:55:27

Artem
08.07.2018
20:56:30
И тактильно щупать, и на miui смотреть

Evansir
08.07.2018
21:01:06
А я считаю нужно брать смарт с последней прошивкой
И будущей возможностью обновления
На более новую
Особенно если проц АМД ?
На компе

Admin
ERROR: S client not available

Evansir
08.07.2018
21:03:55
Опосля ставите дуал бут и тот же miui и чистый Android для тестов
У меня одно приложение крашилось исключительно на 8 Андроиде, я бы и не узнал, если бы не решил потестить на своем телефоне основном

Nick
08.07.2018
22:12:10

Sergey
08.07.2018
22:36:04
А из-за чего именно на 8м?
в Android 8 появилось достаточно много ограничений связанных с работой приложения в фоне. Неповиновение некоторым роняет приложение ? например, запуск сервисов в фоне

Michael
08.07.2018
22:54:40
народ подкиньте хороших туториалов по нэйтиву (кроме офф док)

Alike
09.07.2018
00:41:13

Evansir
09.07.2018
06:09:43
Плюс нотификации имеют каналы
И если канал не зарегать, то у меня не приходило
В общем, лучше иметь реальный девайс на последней версии, а прошлые тестить на эмуле

Demuz
09.07.2018
06:36:18
Здарова. Подскажите, есть ли сайты типа zeplin.io, но только для RN разработки. Короче говоря, на этом сайте можно под мобилы писать дизайны приложений и там сразу код снизу потом высвечивается, для Андроид например...

Google

Demuz
09.07.2018
06:36:58
Можно подключать в разработку других участников, они могут добавлять цвета и прочие изменения, дополняя всё комментариями.

Alexander
09.07.2018
06:40:08
Как сделать responsive изображение? Чтобы по ширине расстягивалось, а по высоте автоматически

rrrrrrrrrrrrrrrrrrrrr
09.07.2018
06:42:08

?
09.07.2018
06:42:57

Alexander
09.07.2018
06:43:01

Serj
09.07.2018
06:43:02
Нужно ручками прописать необходимую высоту
Как в вебе не пойдет
Типа видз 300, height: auto

Demuz
09.07.2018
06:44:24
Только криво по-моему будет.

?
09.07.2018
07:01:12

Demuz
09.07.2018
07:04:15

Alexander
09.07.2018
07:08:47
А бывало у кого, что картинки начинают мерцать?
То есть она то появляется, то нет

Евгений
09.07.2018
07:09:24
так мерцает или то появляется то нет?

rrrrrrrrrrrrrrrrrrrrr
09.07.2018
07:09:37
shouldComponentUpdate
вынеси img в отдельный компонент, и в методе shouldComponentUpdate проверяй изменился ли проспс с сорусом и если нет, то в компоненте пиши return false
если изменяется - соответственно true