react-navigation / react-navigation

Routing and navigation for your React Native apps
https://reactnavigation.org
23.55k stars 5.03k forks source link

Deeplink on web #8428

Closed sayem314 closed 4 years ago

sayem314 commented 4 years ago

Current Behavior

https://streamable.com/j9aktu

Expected Behavior

Linking should be prefixed with # so it will work.

How to reproduce

Create a new project with expo and then create a new screen and navigate to it locally and from remote hosting with Nginx or something.

Your Environment

software version
react-native-web 0.11.7
@react-navigation/native 5.2.1
expo 3.21.5
node 14.4.0
yarn 1.22.4
github-actions[bot] commented 4 years ago

The versions mentioned in the issue for the following packages differ from the latest versions on npm:

Can you verify that the issue still exists after upgrading to the latest versions of these packages?

sayem314 commented 4 years ago
$ cat package.json
{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "test": "jest --watchAll",
    "predeploy": "expo build:web",
    "deploy": "gh-pages -d web-build"
  },
  "homepage": "https://9captcha.com",
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@react-native-community/masked-view": "0.1.6",
    "@react-navigation/drawer": "^5.8.2",
    "@react-navigation/native": "^5.2.1",
    "@react-navigation/stack": "^5.2.16",
    "axios": "^0.19.2",
    "bcryptjs": "^2.4.3",
    "blueimp-md5": "^2.16.0",
    "expo": "^37.0.0",
    "expo-linking": "~1.0.1",
    "react": "16.9.0",
    "react-dom": "16.9.0",
    "react-hooks-global-state": "^1.0.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",
    "react-native-gesture-handler": "~1.6.0",
    "react-native-paper": "^3.10.1",
    "react-native-reanimated": "~1.7.0",
    "react-native-safe-area-context": "0.7.3",
    "react-native-screens": "~2.2.0",
    "react-native-use-dimensions": "^1.3.1",
    "react-native-web": "^0.11.7"
  },
  "devDependencies": {
    "@babel/core": "^7.8.6",
    "babel-preset-expo": "^8.1.0",
    "gh-pages": "^3.0.0",
    "jest-expo": "^37.0.0"
  },
  "private": true
}
sayem314 commented 4 years ago

When developing locally slugs work fine but when hosting on Github pages or Netlify it doesn't because those files don't exist. IIRC on an older version of expo it used to prefix with a hash (#) so it was working. https://9captcha.com/register < should work fine. How do I prefix /register with hash?

satya164 commented 4 years ago

Please refer to netlify or GH pages docs/resources on how to handle SPAs. This is not specific to react navigation.

At least for GitHub pages, you can add a 404.html file to handle all the requests.

github-actions[bot] commented 4 years ago

Hey! Thanks for opening the issue. The issue tracker is intended for only tracking bug reports. This helps us prioritize fixing bugs in the library. Seems you have a usage question. Please ask the question on StackOverflow instead using the react-navigation label. You can also chat with other community members on Reactiflux Discord server in the #react-navigation channel.

relign commented 4 years ago

I miss the same issue. when I use react-native-web in RN project, I want to get a unique URL for every page, but react-navigation to web isn't support.

leonineli commented 2 years ago

server-side config support deeplink: https://angular.io/guide/deployment#server-configuration

github-actions[bot] commented 2 years ago

Hey! This issue is closed and isn't watched by the core team. You are welcome to discuss the issue with others in this thread, but if you think this issue is still valid and needs to be tracked, please open a new issue with a repro.

NilsBaumgartner1994 commented 1 year ago

I am facing the same problem incappable to create a hash or hashbang routing