Open berttejeda opened 11 months ago
node version = v18.11.0 npm version = 8.19.2 parcel version = 2.9.3 react version = 18.2.0 react-dom = 18.2.0 spectacle = 10.1.4
Notice: I am by no means an expert developer at React/Node. I am simply putting this here in case someone finds my instructions/experience useful.
Below are the steps I took to get this to work with a project I'm working on that utilizes Parcel bundler:
cd ~/git/spectacle
Introduced my changes: git diff src/hooks/use-location-sync.ts
git diff src/hooks/use-location-sync.ts
index b167e43..215d101 100644 --- a/packages/spectacle/src/hooks/use-location-sync.ts +++ b/packages/spectacle/src/hooks/use-location-sync.ts @@ -1,9 +1,10 @@ import { useState, useEffect, useCallback } from 'react'; -import { createBrowserHistory, Location } from 'history'; +import { Location } from 'history'; import QS from 'query-string'; import isEqual from 'react-fast-compare'; import { mergeAndCompare, merge } from 'merge-anything'; import { DeckView } from './use-deck-state'; +import { useNavigate } from 'react-router-dom'; import { mapLocationToState, mapStateToLocation, @@ -42,7 +43,6 @@ type LocationStateOptions = { mapStateToLocation: typeof mapStateToLocation; mapLocationToState: typeof mapLocationToState; mergeLocation?: typeof defaultMergeLocation; - historyFactory?: typeof createBrowserHistory; disableInteractivity?: boolean; }; @@ -53,8 +53,8 @@ export default function useLocationSync({ mapLocationToState, disableInteractivity = false, mergeLocation = defaultMergeLocation, - historyFactory = createBrowserHistory }: LocationStateOptions) { + historyFactory = useNavigate(); const [history] = useState(() => { return typeof document !== 'undefined' ? historyFactory() : null; });
yarn install npm install -g pnpm npm install -g wireit npm install -g nps npm install -g tsup npx pnpm install npx pnpm run build
cd ~/git/myproject
yarn add ~/git/spectacle/packages/spectacle
Notice: I am by no means an expert developer at React/Node. I am simply putting this here in case someone finds my instructions/experience useful.
Below are the steps I took to get this to work with a project I'm working on that utilizes Parcel bundler:
cd ~/git/spectacle
Introduced my changes:
git diff src/hooks/use-location-sync.ts
cd ~/git/myproject
yarn add ~/git/spectacle/packages/spectacle