我正在尝试创建一个待办事项列表应用程序,并使用共享按钮来共享您的待办事项列表。该应用程序即将完成,我认为代码的其他部分无关紧要,但是如果需要,我可以发布它们。
我的状态是这样的:
const [todos, setTodos] = useState([
{todo: 'Add a todo', key: '1'},
]);
我的共享功能是这样的-直接取自官方文档-:
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);
}
};
我在哪里渲染按钮并调用函数:
<Button color= 'orange' title={'Share'} onPress={onShare}/>
我的问题出在message:
部分(第二个代码块)中,我无法在todo
状态下到达个人todos
。这可能是最简单的问题,但我找不到办法...
请帮助:)
答案 0 :(得分:1)
尝试用这种方式将待办事项的所有数据包装在字符串中
const justTodos = todos.map(item => item.todo);
const result = await Share.share({
message: JSON.stringify(justTodos)
})