React 지원
🔔 최신화 일자: 2025-04-25
nachocode Client SDK는 리엑트(React
) 지원을 제공합니다.
React 기반의 웹 애플리케이션에 nachocode Client SDK를 연동하면 코드 몇 줄만으로도 디바이스의 다양한 기능을 활용하여 하이브리드 앱을 개발할 수 있습니다.
개발자는 웹 기술만으로도 모바일 기기의 네이티브 API를 호출하고 제어할 수 있으므로, 별도 네이티브(Android/iOS) 개발 없이도 앱 기능을 구현할 수 있습니다.
이 문서에서는 React 프로젝트에 nachocode-client-sdk
패키지를 설치하고 설정하는 방법, 주요 기능의 사용 예제, React에서의 권장 사용 패턴과 주의사항, 그리고 TypeScript 지원 여부 등을 상세히 안내합니다.
패키지 설치하기
React 프로젝트에서 nachocode client SDK를 사용하려면 npm 패키지 설치를 해야합니다.
npm 또는 yarn을 사용하여 패키지를 설치할 수 있습니다.
npm install nachocode-client-sdk
또는
yarn add nachocode-client-sdk
SDK 초기화 (NachoProvider
사용)
nachocode-client-sdk는 React용으로 Context Provider (NachoProvider
)를 제공합니다.
최상위 컴포넌트를 NachoProvider
로 감싸 전체 앱에서 nachocode Client SDK를 사용할 수 있도록 설정하는 것을 권장합니다.
이때 nachocode 플랫폼에서 발급받은 API Key를 사용하여 SDK를 초기화합니다.
import React from 'react';
import ReactDOM from 'react-dom/client';
import { NachoProvider } from 'nachocode-client-sdk';
import App from './App';
const apiKey = 'YOUR_API_KEY_HERE'; // nachocode에서 발급받은 API 키
const container = document.getElementById('root');
const root = ReactDOM.createRoot(container);
root.render(
<NachoProvider apiKey={apiKey} options={{ logger: true }}>
<App /> {/* App 컴포넌트를 nachocode Provider로 감쌉니다. */}
</NachoProvider>
);
apiKey
: 나쵸코드에서 발급받은 API 키options.logger
: SDK 로그 활성화 (개발 중 권장)
NachoProvider
로 감싼 하위의 App
컴포넌트들은 Nachocode
인스턴스에 즉시 접근할 수 있게 됩니다.
SDK 사용하기
NachoProvider
로 감싼 이후에는, 자식 컴포넌트 어디서든 SDK에 접근할 수 있습니다.
SDK가 비동기로 로드되므로, Context 훅인 useNachocodeContext
훅을 사용하여 로딩 상태를 확인하고 Nachocode
객체를 가져오는 패턴을 권장합니다.
다음은 임의의 컴포넌트에서 SDK 로딩 상태를 확인하고 기능을 사용하는 예시입니다
import { useNachocodeContext } from 'nachocode-client-sdk';
function ExampleComponent() {
const { Nachocode, isLoading, isError, error } = useNachocodeContext();
if (isLoading) return <div>로딩 중...</div>;
if (isError) return <div>오류 발생: {error.message}</div>;
// nachocode Client SDK 사용 가능
const handleVibrate = () => {
if (Nachocode.env.isApp()) {
Nachocode.vibration.vibrate();
} else {
console.log('앱 환경에서만 진동이 가능합니다.');
}
};
return <button onClick={handleVibrate}>진동 울리기</button>;
}
위 예에서 useNachocodeContext
훅은 { Nachocode, isLoading, isError, error }
객체를 반환합니다.
반환값 | 설명 |
---|---|
Nachocode | nachocode Client SDK 객체 |
isLoading | SDK 로딩 상태 (true 또는 false ) |
isError | SDK 에러 여부 (true 또는 false ) |
error | SDK 로드 중 발생한 에러 (Error 또는 null ) |
isLoading
이 true
인 동안에는 SDK가 완전히 로드되지 않은 상태이므로 기능 호출을 미루고, isError
가 true
이면 error.message
를 통해 오류를 확인할 수 있습니다.
Nachocode
객체가 준비되면, 이제 SDK의 다양한 기능을 호출하여 사용할 수 있습니다.
참고: nachocode-client-sdk는 CDN을 통해 로드되는 외부 스크립트를 내부적으로 사용합니다.
NachoProvider
나 제공된 훅을 사용하면 이 스크립트를 비동기로 불러오고 초기화해주므로, 별도로<script>
태그를 삽입할 필요가 없습니다. (만약 React가 아닌 순수 웹 환경에서 사용한다면 nachocode 제공 CDN 경로를<script>
로 삽입하여window.Nachocode
를 사용할 수도 있습니다.)