React Native - есть ли способ использовать видеоплеер vimeo в приложении React Native?

Я использовал этот пакет для видеоплеера vimeo. но получил следующую ошибку. Есть ли другой способ использовать vimeo player для реагирования на собственное приложение?

Инвариантное нарушение: Инвариантное нарушение: requireNativeComponent: «RCTWebViewBridge» не найден в UIManager.


person Shankar S Bavan    schedule 09.04.2019    source источник
comment
Вы пробовали использовать встроенный URL-адрес, указанный в видео? Я думаю, вы можете использовать их напрямую.   -  person Rahul    schedule 13.04.2019


Ответы (1)


Я использовал этот код:

// NOTE: Injecting code here due to react-native webview issues when overriding
// the onMessage method. See here: https://github.com/facebook/react-native/issues/10865
export const injectedCode = `
(function() {
var originalPostMessage = window.postMessage;
var patchedPostMessage = function(message, targetOrigin, transfer) {
  originalPostMessage(message, targetOrigin, transfer);
};
patchedPostMessage.toString = function() {
  return String(Object.hasOwnProperty).replace('hasOwnProperty', 'postMessage');
};
window.postMessage = patchedPostMessage;
})();
`;


   getVimeoPageURL(videoId) {
        return 'https://myagi.github.io/react-native-vimeo/v0.3.0.html?vid=' + videoId;
    }

render() {
        return (
            <WebView
                ref="webviewBridge"
                style={{
                    // Accounts for player border
                    marginTop: -8,
                    marginLeft: -10,
                    height: this.props.height
                }}
                injectedJavaScript={injectedCode}
                source={{ uri: this.getVimeoPageURL(this.props.videoId) }}
                scalesPageToFit={this.props.scalesPageToFit}
                scrollEnabled={false}
                onMessage={this.onBridgeMessage}
                onError={error => console.error(error)}
            />
        );
    }
person Vikram Biwal    schedule 09.04.2019
comment
Это работает. Спасибо @crazyvk Как включить полноэкранную кнопку? - person Shankar S Bavan; 09.04.2019
comment
Что вы передаете как injectedCode? - person Juan Araneta; 04.06.2020
comment
@JuanAraneta я добавил в свой ответ. - person Vikram Biwal; 05.06.2020
comment
Могу ли я получить html-страницу response-native-vimeo / v0.3.0.html? в случае, если ваш сервер не работает. Я могу разместить на своем сервере - person Rajesh Nasit; 17.04.2021