使用多个对象来响应本机钩子用法

时间:2020-11-10 11:33:38

标签: javascript reactjs react-native react-hooks

我正在尝试创建一个待办事项列表应用程序,并使用共享按钮来共享您的待办事项列表。该应用程序即将完成,我认为代码的其他部分无关紧要,但是如果需要,我可以发布它们。

我的状态是这样的:

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。这可能是最简单的问题,但我找不到办法...

请帮助:)

1 个答案:

答案 0 :(得分:1)

尝试用这种方式将待办事项的所有数据包装在字符串中

const justTodos = todos.map(item => item.todo);
const result = await Share.share({
        message: JSON.stringify(justTodos)
})