@getkoala/react
Koala SDK hooks for React.
Install
yarn add @getkoala/react
yarn add react react-dom
Recommended Usage
import React from "react";
import ReactDOM from "react-dom";
import ko from "@getkoala/react";
ko.init("<your Koala public API key>");
function App() {
const [ready, setReady] = React.useState(false);
const user = useCurrentUser();
React.useEffect(() => {
if (user) {
ko.identify(user.email, { name: user.name });
}
}, [user]);
React.useEffect(() => {
ko.ready(() => setReady(true));
}, []);
return <div>{ready ? "Ready" : "Loading"}</div>;
}
ReactDOM.render(
<App />
document.getElementById("root")
);
Alternative usage
You can also use KoalaProvider to load the SDK and the useKoala hook if necessary, though you should be able to do everything you need using the recommended usage instead.
import React from "react";
import ReactDOM from "react-dom";
import { KoalaProvider, useKoala } from "@getkoala/react";
function App() {
const { koala, ready } = useKoala();
const user = useCurrentUser();
React.useEffect(() => {
if (user) {
koala.identify({ email: user.email, name: user.name });
}
}, [koala, user]);
return <div>{ready ? "Ready" : "Loading"}</div>;
}
ReactDOM.render(
<KoalaProvider publicApiKey="<your Koala public API key>">
<App />
</KoalaProvider>,
document.getElementById("root")
);