import {
OverlayProvider,
Chat,
Channel,
PollAllOptions,
} from "stream-chat-react-native";
const App = () => {
return (
<OverlayProvider>
<Chat client={client}>
<Channel channel={channel}>
<PollAllOptions
message={message}
poll={poll}
{...otherOptionalProps}
/>
</Channel>
</Chat>
</OverlayProvider>
);
};PollAllOptions
A component used to render a list of all of the options that a Poll has. Voting on each option on this screen is also enabled. Needs to be structured inside a Channel component.
It will render its default PollAllOptionsContent, which can be overridden for custom UI. Its children have access to the entire poll state through the usePollState hook.
General Usage
Props
message
Message object.
| Type |
|---|
Message type |
poll *
An instance of the Poll class containing reactive state.
It is used by the underlying usePollContext, usePollStateStore and usePollState hooks to provide us with the reactive Poll state.
If you need the Poll instance you may get it from client.polls.fromState(pollId).
| Type |
|---|
| object |
additionalScrollViewProps
A prop used to override the underlying ScrollView props of the PollAllOptions.
const flatListProps = { bounces: true };
<PollAllOptions additionalFlatListProps={flatListProps} />;| Type |
|---|
| object |
PollAllOptionsContent
A Component prop used to render the content of the PollAllOptions component.
The component has full access to the entire Poll reactive state through the usePollState hook.
| Type | Default |
|---|---|
| ComponentType | PollAllOptionsContent |
Usage
import { Text } from "react-native";
import {
OverlayProvider,
Chat,
Channel,
PollAllOptions,
usePollState,
} from "stream-chat-react-native";
const MyPollAllOptionsContent = () => {
const { options } = usePollState();
return options.map((option) => <Text>{option.id}</Text>);
};
const App = () => {
return (
<OverlayProvider>
<Chat client={client}>
<Channel channel={channel}>
<PollAllOptions
message={message}
poll={poll}
PollAllOptionsContent={MyPollAllOptionsContent}
/>
</Channel>
</Chat>
</OverlayProvider>
);
};