Skip to main content

usePositioningStore

This documentation provides an overview of the usePositioningStore.ts file, which is a store using Zustand for managing the connection state to a Pozyx broker.

Table of Contents​

Introduction​

The usePositioningStore leverages Zustand to create a global store that manages the connection status of a Pozyx broker. It provides an intuitive API for connecting and disconnecting from the broker.

Installation​

To use the positioning store, ensure that you have Zustand installed:

npm install zustand

Store Structure​

The store is composed of two main parts: State and Actions.

State​

PropertyTypeDescription
pozyxBrokerConnectedbooleanIndicates if the Pozyx broker is connected.

Actions​

ActionDescription
pozyxBrokerConnectSets pozyxBrokerConnected to true. Connects to the Pozyx broker.
pozyxBrokerDisconnectSets pozyxBrokerConnected to false. Disconnects from the Pozyx broker.

Usage​

To utilize the usePositioningStore, you can import and use it within your React components as shown below:

import { usePositioningStore } from "./usePositioningStore";

const Component = () => {
const { pozyxBrokerConnected, pozyxBrokerConnect, pozyxBrokerDisconnect } =
usePositioningStore();

return (
<div>
<p>
Broker Status: {pozyxBrokerConnected ? "Connected" : "Disconnected"}
</p>
<button onClick={pozyxBrokerConnect}>Connect</button>
<button onClick={pozyxBrokerDisconnect}>Disconnect</button>
</div>
);
};

Code Overview​

Below is the complete code for the usePositioningStore.ts file:

import { create } from "zustand";

type PositioningStoreState = {
pozyxBrokerConnected: boolean;
};

type PositioningStoreActions = {
pozyxBrokerConnect: () => void;
pozyxBrokerDisconnect: () => void;
};

eort const usePositioningStore = create<
PositioningStoreState & PositioningStoreActions
>((set) => ({
pozyxBrokerConnected: false,
pozyxBrokerConnect: () => set((state) => ({ pozyxBrokerConnected: true })),
pozyxBrokerDisconnect: () =>
set((state) => ({ pozyxBrokerConnected: false })),
}));

Conclusion​

The usePositioningStore is a simple yet powerful tool for managing the connection status to a Pozyx broker with Zustand. With clear state definitions and actionable methods, integrating this store into your application is seamless and enhances the connection management eerience!