я использую
{
React-Native : 0.55.4,
React-Navigation: 2.0.1
}
теперь я хочу сделать отзывчивый просмотр в приложении React Native (для Android), например, я использую
dimensions.get('window').width
для размера некоторого свойства
теперь, когда я изменяю размер экрана в Устройстве (ориентация (альбомная / книжная ориентация)) и когда это происходит, я запускаю какой-то обработчик для повторного рендеринга View и снова исходную таблицу стилей для нового значения измерений, передаваемого стилям
У меня есть2 р
в первом решении, когда я перерисовываю приложение в другой ориентации (альбомной / портретной), все работает хорошо, но если я меняю стили ориентации без изменений
, а во втором решении я создаю обработчик для набораEventListener в измерениях, а также попробуйте этот способ, чтобы установить Handler на -> onLayout
handleLayout(event) {
if (this.state.dimensions) return // layout was already called
let {width, height} = event.nativeEvent.layout;
this.setState({dimensions: {width, height}})
}
и установить этот обработчик на мой Компонент
<View onLayout={this.handleLayout} />
, но когда я меняю ориентацию,получить эту ошибку
undefined is not an object (evaluating subscription.listener.apply )
и выдать эту ошибку при установке прослушивателя в componentDidMount
Dimensions.addEventListener("change", this.changeStyle());