Я полагаю, есть две основные опции:
Вы можете использовать только функцию window.open () в Интернете:
if(Platform.OS == 'web'){
window.open(url, '_blank');
} else {
Linking... // normal Linking react-native
}
Или вы можете создать пользовательскую ссылку из response-native-web (https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/exports/Linking/index.js):
CustomLinking. js:
import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';
import invariant from 'fbjs/lib/invariant';
const initialURL = canUseDOM ? window.location.href : '';
const CustomLinking = {
addEventListener() {},
removeEventListener() {},
canOpenURL(): Promise<boolean> {
return Promise.resolve(true);
},
getInitialURL(): Promise<string> {
return Promise.resolve(initialURL);
},
openURL(url: string, target = '_self'): Promise<Object | void> {
try {
open(url, target);
return Promise.resolve();
} catch (e) {
return Promise.reject(e);
}
},
_validateURL(url: string) {
invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);
invariant(url, 'Invalid URL: cannot be empty');
}
};
const open = (url, target) => {
if (canUseDOM) {
window.open(
url,
target // <- This is what makes it open in a new window.
);
}
};
export default CustomLinking;
Использование:
import Linking from "./CustomLinking";
Linking.openURL(href, '_blank');