Skip to main content

API example map

Start with a runnable lesson, then use its linked reference for individual options and methods. This inventory covers the author-facing value exports of react, react-native, @kog/ui, @kog/router, @kog/hardware, expo-audio (@kog/audio), the Expo device-service modules, and the networking globals. Types and compiler-generated internals are not application APIs. An API appearing in an export list does not necessarily mean it is implemented; those cases are identified below.

API familyExample
View, Text, StyleSheet.create, flex layoutHello Kog
useState, useEffect, Pressable, TouchableOpacityState and events, Images
Image, ImageBackground, asset imports, URI sources, load/error lifecycleImages, including editable modules and PNG bytes
TextInput, KeyboardAvoidingView, Keyboard, Switch, Slider, Button, Modal, Alert, TouchableHighlight, TouchableWithoutFeedbackForms and dialogs
ScrollView, FlatList, SectionList, list refsLists; VirtualizedList is the FlatList alias
Arc, Bar, ProgressBar, Spinner, Checkbox, Dropdown, RollerNative widgets
ActivityIndicatorImages, Networking
Animated, Easing, useAnimatedValue, useInterval, useTimeoutAnimation and timers; Animated methods
createContext, useContext, useReducer, useMemo, useCallback, useRef, useId, useLayoutEffect, useImperativeHandle, forwardRef, memo, findNodeHandleContext and refs
Fragment, default React namespaceHooks reference; fragments group children without adding a native widget
Appearance, useColorScheme, ThemeProvider, DynamicColor, SafeAreaView, StatusBar, useDisplay, Dimensions, useWindowDimensions, PixelRatio, Platform, AppState, I18nManager, InteractionManager, GestureDirectionDisplay and theme
ErrorBoundaryError recovery
Router, MemoryRouter, Routes, Route, Outlet, Navigate, Link, NavLink, useNavigate, useParams, useLocation, useNavigationType, useSearchParams, useResolvedPath, useMatch, useInRouterContextRouting, two interactive examples
useOutletContextRouter reference; pass the value on Outlet context for the nested route
useFocusEffect, useIsFocusedRouting
createPath, parsePath, resolvePath, generatePath, matchPath, matchRoutes, SearchParams, hrefOfRouting, logged by the second example
gpio, useButton, useDigitalRead, useDigitalWrite, useAnalogRead, usePWMHardware, RGB and discrete LEDs with real GPIO/PWM output observation
claim, release, digitalRead, digitalWrite, watch, analogRead, adc, pwm, HwError, GPIO_NUM_MAXOwning hardware resources directly; a runnable example with explicit cleanup
i2c, spiHardware API; real devices need the specified wiring and attached peripheral
useAudioPlayer, useAudioPlayerStatus, createAudioPlayer, useAudioSampleListener, useAudioRecorder, useAudioRecorderState, RecordingPresets, useAudioPlaylist, useAudioPlaylistStatus, setAudioModeAsync, setIsAudioActiveAsync, AudioModuleAudio API and the examples/audio app (bundled WAV/MP3, SD-card playback, recording); sound needs a board with a speaker, the desktop simulator, or a click in the browser simulator
expo-battery, expo-brightness, expo-sensors (Accelerometer, Gyroscope), expo-haptics, Vibration, useDeviceDevice services; the Studio and docs simulators drive battery and motion from the Device panel and show brightness and the motor. A real board needs the part in its board.yaml
fetch, Request, Response, Headers, URL, URLSearchParams, AbortController, AbortSignal, TextEncoder, TextDecoderNetworking
WebSocket, MessageEvent, CloseEventWebSocket guide; a reachable WebSocket server is required
TCPSocket, TCPServer, UDPSocketTCP and UDP; native simulator or firmware only
WiFiWi-Fi guide; requires native Wi-Fi hardware
Event, EventTarget, DOMException, btoa, atob, KogNetError, KogNetUnavailableErrorNetwork API, network overview

Compatibility and implementation limits​

These exports are not represented as working features in the runnable lessons:

APICurrent behavior
ChartWidget export exists, but series-data transport is unimplemented. data is rejected by the compiler.
useDevicebattery is the live battery level (-1 without a gauge); heapFree and rssi are still zero.
DeviceMotion, Magnetometer, MagnetometerUncalibrated, Barometer, LightSensor, Pedometer (expo-sensors)No board has drivers yet: isAvailableAsync() is false and subscribing throws SENSOR_UNAVAILABLE.
useAudioStream, AudioStreamExported so expo code compiles; both throw AUDIO_UNAVAILABLE (real-time PCM capture is not implemented). Record a WAV with useAudioRecorder instead.
useStorageIn-memory state only; no flash/NVS persistence. Its return value is a mount-time snapshot. Use useState for reactive session state.
useSyncExternalStoreSubscribes and cleans up, but the returned snapshot is not compiler-lowered into a reactive binding. Use a subscription inside useEffect feeding useState when the UI must update.
LayoutAnimationLayout changes apply immediately with a warning; use Animated for visible interpolation.
Linking, Share, Clipboard, BackHandlerCompatibility exports that throw or reject; Kog has no phone OS services behind them.
Animated.event, animated arithmetic, color interpolation, Alert.promptUnsupported methods that throw.
StatusBar, AppState transitions, RTL layoutNo OS status bar, foreground/background lifecycle, or RTL layout engine. The display lesson shows their actual fixed semantics.

Lower-level AnimatedValue / AnimatedInterpolation, withGeometry / rectShape, and StyleSheet.flatten / compose share the implementations behind the corresponding high-level lessons; see hooks, styling, and React Native APIs. Prefer the high-level API when it expresses the same behavior.

installNet and sliderScale are runtime integration helpers. Boot installs networking before app code; application code should not reinstall it. Compiler-facing exports such as __style, __text, encodeProp, host builders, and bridge interfaces are deliberately outside this lesson map.