Size: a a a

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

2020 February 03

MA

Maxim Antsiferov in React Native — русскоговорящее сообщество
Данила Андреев
Кто-нибудь использует Reactotron ? Это актуально еще ?
Мне он помог очень, удобно в любой момент просматривать стор и чистить асинк стор
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
привет всем, юзаю react-native-tab-view
возможно сделать ширину кнопки в заголовке авто?
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
тоесть, если не влазят в екран, скролить их?
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
Друзья, никому не доводилось через WebView встраивать виджет в приложение? Я далёк от веба и у меня не получается. Мне нужно встроить кнопку покупки билетов ticketsteam. Делаю так:

<WebView
 style={{flex: 1, height: 100}}
 source={{html: `<script data-type="TSWidget" data-color="red" data-text="Купить билет" data-key="
...здесь ключ..." src="https://arm.ticketsteam.ru/widget/js/widget.js"></script>`}}
 javaScriptEnabled={true}
/>


Но ничего не отрисовывается. В чём моя ошибка?
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
Kamo Spertsyan
Друзья, никому не доводилось через WebView встраивать виджет в приложение? Я далёк от веба и у меня не получается. Мне нужно встроить кнопку покупки билетов ticketsteam. Делаю так:

<WebView
 style={{flex: 1, height: 100}}
 source={{html: `<script data-type="TSWidget" data-color="red" data-text="Купить билет" data-key="
...здесь ключ..." src="https://arm.ticketsteam.ru/widget/js/widget.js"></script>`}}
 javaScriptEnabled={true}
/>


Но ничего не отрисовывается. В чём моя ошибка?
тебе надо примерно вот так код html прописывать: <html><body> ...тут твой скрипт... </body></html>
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
Роман Бастраков
тебе надо примерно вот так код html прописывать: <html><body> ...тут твой скрипт... </body></html>
Белый квадрат :С
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
а от куда ты этот код взял, кинь ссылку, гляну...
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
попробуй еще в webview добавить следующие атрибуты:
  domStorageEnabled={true}
  startInLoadingState={false}
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
Роман Бастраков
а от куда ты этот код взял, кинь ссылку, гляну...
так-с, я кажется сам виноват, вроде виджет загрузился
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
а, ну бывает =)
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
он просто почему-то долго думает, видимо, скрипт отдаётся не сразу
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
осталось понять, как его стилизовать теперь)
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
Роман Бастраков
а, ну бывает =)
а можно перенаправить обработку скрипта на другое вебвью?

Я хочу показать кнопку из вышеупомянутого скрипта в списке, а по нажатию - открыть полноэкранное webview
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
сейчас скрипт обрабатывает нажатие внутри маленькой webview, в которой кнопка рендерилась
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
Kamo Spertsyan
а можно перенаправить обработку скрипта на другое вебвью?

Я хочу показать кнопку из вышеупомянутого скрипта в списке, а по нажатию - открыть полноэкранное webview
не уверен что можно, но как-то видел другой webview компонент, в котором можно callbackи прописывать, сейчас уже не смогу вспомнить название, думаю можно погуглить, их всего штуки 3 или 4, один их них весь html перефигачивает в компоненты реакта,  другой с callbackами, третий стандартный.
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
Kamo Spertsyan
сейчас скрипт обрабатывает нажатие внутри маленькой webview, в которой кнопка рендерилась
но лучше не делать больше 1 вебвью на экране, произодитльность начинает страдать
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
Роман Бастраков
не уверен что можно, но как-то видел другой webview компонент, в котором можно callbackи прописывать, сейчас уже не смогу вспомнить название, думаю можно погуглить, их всего штуки 3 или 4, один их них весь html перефигачивает в компоненты реакта,  другой с callbackами, третий стандартный.
меня пугает, что скорее всего перехват нажатия на кнопку обрубит обработку нажатия скриптом, и модуль покупки не запустится, как должен..

А есть вообще возможность после загрузки html-страницы сымитировать нажатие на кнопку?

Так я бы мог нарисовать свою реактовскую кнопку в списке, а по нажатию на неё кинуть в вебвью, в котором загрузить скрипт и сымитировать нажатие на кнопку "Купить билет"
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
Kamo Spertsyan
а можно перенаправить обработку скрипта на другое вебвью?

Я хочу показать кнопку из вышеупомянутого скрипта в списке, а по нажатию - открыть полноэкранное webview
все таки лучше кнопку сделать в реакте, а при нажатии ее вызвать какой-то экшен из виджета. вот смотри, тут код твоего виджета https://arm.ticketsteam.ru/widget/js/widget.js думаю там можно найти что происходит по нажатию кнопки и сделать это же в реакте
источник

KS

Kamo Spertsyan in React Native — русскоговорящее сообщество
Роман Бастраков
все таки лучше кнопку сделать в реакте, а при нажатии ее вызвать какой-то экшен из виджета. вот смотри, тут код твоего виджета https://arm.ticketsteam.ru/widget/js/widget.js думаю там можно найти что происходит по нажатию кнопки и сделать это же в реакте
Сликшом сложно для меня, далёкого от веба :С
источник

РБ

Роман Бастраков in React Native — русскоговорящее сообщество
Kamo Spertsyan
меня пугает, что скорее всего перехват нажатия на кнопку обрубит обработку нажатия скриптом, и модуль покупки не запустится, как должен..

А есть вообще возможность после загрузки html-страницы сымитировать нажатие на кнопку?

Так я бы мог нарисовать свою реактовскую кнопку в списке, а по нажатию на неё кинуть в вебвью, в котором загрузить скрипт и сымитировать нажатие на кнопку "Купить билет"
да, есть такая возможность: нажатие на кнопку - это событие click по элементу в html, т.е. если есть jquery на старнице, то это будет вот так: $('#elemen').click(); если нет, то на js вот так: document.getElementById("elemnetId").click();
источник