rcaferati / ras-fullpage-strategies

React awesome slider fullpage strategies and usage examples.

Home Page:https://fullpage.caferati.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

React Awesome Slider Navigation HOC strategies

React awesome slider fullpage strategies and usage examples. For more information about the slider itself please access the main repository at rcaferati/react-awesome-slider

Live preview

Access the live preview at: fullpage.caferati.me

react-awesome-slider demo

Implementation

The Navigation HOC exposes a number of methods for dealing with fullpage navigation. The code bellow is a basic concept example, if you want a functional one just check out the NextJS example folder.

Method Type Description
Provider Context Provider A context provider component for the application to be wrapped in.
withNavigationContext Context Consumer A navigation context consumer for accessing the navigation object as a prop.
withNavigationHandlers Navigation Handlers A HOC to add the navigation handlers to your AwesomeSlider instance.
Link Link Component A Link component for handling page linking.
import AwesomeSlider from "react-awesome-slider"
import 'react-awesome-slider/dist/styles.css';

import { 
  Provider,
  Link,
  withNavigationContext,
  withNavigationHandlers
} from "react-awesome-slider/dist/navigation";

// Wrapp the AwesomeSlider component with the navigationHandlers
const NavigationSlider = withNavigationHandlers(AwesomeSlider);

// Create an AwesomeSlider instance with some content
const Slider = () => {
  return (
    <NavigationSlider
      className="awesome-slider"
      media={[
        {
          slug: "page-one",
          className: "page-one",
          children: () => <p>Page One</p>
        },
        {
          slug: "page-two",
          className: "page-two",
          children: () => <p>Page Two</p>
        }
      ]}
    />
   )
}

// Page header navigation
const Header = () => {
  return (
    <Header>
      <nav>
        <Link href="page-one">Page One</Link>
        <Link href="page-two">Page Two</Link>
      </nav>
    </Header>
  )
}

// Wrapp the aplication with the navigation Provider passing down the current page slug.
const App = () => {
  const slug = "[THE INITIAL RENDERED SLUG]";

  return (
    <Provider slug={slug}>
      <Header />
      <NavigationSlider />
    </Provider>
  )
}

About

React awesome slider fullpage strategies and usage examples.

https://fullpage.caferati.me


Languages

Language:CSS 54.7%Language:JavaScript 45.3%