Reputation: 37
I am trying to create a todo list app, with a Share button that can share the todo list you have. The app is almost complete, the other parts of the code is irrelevant I thought but if needed I can post them.
My state is like this:
const [todos, setTodos] = useState([
{todo: 'Add a todo', key: '1'},
]);
My share function is like this - directly taken from the official docs -:
const onShare = async () => {
try {
const result = await Share.share({
message:
todos.todo
});
if (result.action === Share.sharedAction) {
if (result.activityType) {
// shared with activity type of result.activityType
} else {
// shared
}
} else if (result.action === Share.dismissedAction) {
// dismissed
}
} catch (error) {
alert(error.message);
}
};
Where I render the button and call the function:
<Button color= 'orange' title={'Share'} onPress={onShare}/>
My problem is in the message:
part (second code block), I cannot reach my individiual todo
inside the todos
state. It might be the easiest problem but I couldnt find a way...
Help please :)
Upvotes: 1
Views: 180
Reputation: 6967
Try this way which wrap all data of todo's in string
const justTodos = todos.map(item => item.todo);
const result = await Share.share({
message: JSON.stringify(justTodos)
})
Upvotes: 1