React Kakaotalk Login
A Component for Kakaotalk Login.
Getting Started
$ cd /PROJECT/PATH
$ npm i -S react react-dom react-kakao-login
Development
$ npm run demo
- Open [localhost:8888](http://localhost:8888)
Production Bundle
$ npm run bundle
Parameters
Parameter | Type | Remarks |
---|---|---|
jsKey | string | Required |
onSuccess | function | Required |
onFailure | function | Required |
version | string | One of [v1 , v2 ]. default is v2 |
getProfile | bool | If you want to get User's information, set TRUE |
useDefaultStyle | bool | Optional |
buttonText | string | Optional |
className | string | Optional |
render | function | Optional |
How to use?
import React, { Fragment } from 'react';
import ReactDOM from 'react-dom';
import styled from 'styled-components';
import KakaoLogin from '../src';
const key = '4a5607f2dc1622d91b7137fff35a464d';
const success = (response) => {
console.log(response);
};
const failure = (error) => {
console.log(error);
};
const appRoot = document.getElementById('react-kakao-login');
const Italic = styled.i`
color: #3c1e1e;
font-size: 20px;
font-weight: 700;
`;
const StyledKakaoLogin = styled(KakaoLogin)`
display: inline-block;
padding: 0;
width: 222px;
height: 49px;
line-height: 49px;
color: #3C1E1E;
background-color: #FFEB00;
border: 1px solid transparent;
border-radius: 3px;
font-size: 16px;
text-align: center;
`;
ReactDOM.render(
<Fragment>
<p><code>No options</code></p>
<KakaoLogin
jsKey={key}
onSuccess={success}
onFailure={failure}
/>
<p>Change button text with <code>buttonText</code></p>
<KakaoLogin
jsKey={key}
onSuccess={success}
onFailure={failure}
buttonText="Button Text"
/>
<p>Use style that is defined in KakaoLogin component with <code>useDefaultStyle</code></p>
<KakaoLogin
jsKey={key}
onSuccess={success}
onFailure={failure}
useDefaultStyle
/>
<p>Pass component that is styled as <code>children</code></p>
<KakaoLogin
jsKey={key}
onSuccess={success}
onFailure={failure}
>
<Italic>Children</Italic>
</KakaoLogin>
<p>Pass <code>className</code> to style component</p>
<KakaoLogin
jsKey={key}
onSuccess={success}
onFailure={failure}
className="css-with-class"
/>
<p>Pass <code>render</code> function to render fully customized component</p>
<KakaoLogin
jsKey={key}
onSuccess={success}
onFailure={failure}
render={props => (
<a
href="#"
onClick={(e) => {
e.preventDefault();
props.onClick();
}}
>
Render Prop
</a>
)}
/>
<p>Use <code>third party</code>, like <code>styled-components</code></p>
<StyledKakaoLogin
jsKey={key}
onSuccess={success}
onFailure={failure}
/>
</Fragment>, appRoot
);