Channel state is stored under state in the Channel object. State is a key/value map, which you can provide when creating a Channel, and then update later on. All subscribers are able to access Channel state. When state is updated, all subscribers will be synced with the latest state object. You can also listen to the individual state update events with the client SDK.

Updating State

You can update channel state from the server side SDK libraries or the API.

Usage with React

If using React, you can use the useReadChannelState hook:

Price.jsx
const Price = () => {
	/**
	 * `state` will be null until the client is connected
	 * this will attempt to subscribe the client to the specified channel
	 * if they are not already subscribed (you can disable this)
	 */

	const {state} = useReadChannelState('usd_prices');

	if (!state) {
		return;
		<h1>Loading</h1>;
	}

	return <h1>BTC Price: {state.btc}</h1>;
};