Thanks to visit codestin.com
Credit goes to github.com

Skip to content

hideokamoto-stripe/use-line-liff

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

use-line-liff

Getting started

Install

$ npm i use-line-liff

Setup Provider

import { LiffProvider } from 'use-line-liff'

function MyApp({ children }) {
  return (
    <LiffProvider liffId={process.env.NEXT_PUBLIC_LIFF_ID}>
      {children}
    </LiffProvider>
  )
}

export default MyApp

Use React Hook

import { useEffect } from 'react'
import { useLiff } from 'use-line-liff'

const Home = () => {
  const { liff } = useLiff()
  useEffect(() => {
    if (!liff) return;
    if (!liff.isLoggedIn()) {
      liff.login()
    }
    liff.getProfile()
      .then(profile => {
        console.log(profile)
      })
  },[liff])
  return (
    <div>
      <main>
        <h1>Hello liff</h1>
      </main>
    </div>
  )
}

export default Home

Usage

Mock

Enabled @line/liff-mock plugin.

function MyApp({ Component, pageProps }: AppProps) {
  return (
    <LiffProvider
      liffId={process.env.NEXT_PUBLIC_LIFF_ID as string}
      mock={{
        enable: true
      }}
    >
      <Component {...pageProps} />
    </LiffProvider>
  )
}

Return custom value.

function MyApp({ Component, pageProps }: AppProps) {
  return (
    <LiffProvider
      liffId={process.env.NEXT_PUBLIC_LIFF_ID as string}
      mock={{
        enable: true,
        mockDidLoaded: (p) => {
          return {
            ...p,
            getProfile: {
                ...p.getProfile,
                userId: 'custom-user-id'
            }
          }
        }
      }}
    >
    <Component {...pageProps} />
    </LiffProvider>
  )
}

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%