taro useShareAppMessage跳转之后如何拿参数
时间: 2023-10-17 13:05:31 浏览: 43
在使用 `useShareAppMessage` 方法定义分享内容后,跳转到目标页面时可以通过 `onShareAppMessage` 方法获取分享时传入的参数。
具体步骤如下:
1. 在目标页面的 `config` 对象中定义 `navigationBarTitleText` 属性,以设置页面标题。
```javascript
config = {
navigationBarTitleText: '目标页面'
}
```
2. 在目标页面中定义 `onShareAppMessage` 方法,接收一个对象作为参数,该参数包含分享时传入的参数。
```javascript
import Taro, { useState, useEffect } from '@tarojs/taro'
import { View, Text } from '@tarojs/components'
function TargetPage() {
// 定义一个状态
const [params, setParams] = useState({})
useEffect(() => {
// 通过 getCurrentInstance() 方法获取页面实例对象
const { router: { params } } = Taro.getCurrentInstance()
setParams(params)
}, [])
return (
<View>
<Text>参数:{JSON.stringify(params)}</Text>
</View>
)
}
// 定义 onShareAppMessage 方法,接收一个对象作为参数
TargetPage.onShareAppMessage = (options) => {
// 返回一个对象,包含分享时传入的参数
return {
title: '分享标题',
path: `/pages/target/index?id=${options.query.id}`
}
}
export default TargetPage
```
在上面的代码中,我们在目标页面中定义了 `onShareAppMessage` 方法,并在其中返回一个对象,该对象中包含了分享时传入的参数。在页面中,我们通过 `getCurrentInstance()` 方法获取页面实例对象,并在 `useEffect` 中设置参数状态。最后,我们将参数渲染到页面中以进行展示。
需要注意的是,如果使用了 `Taro.showShareMenu` 方法来显示分享按钮,则必须在 `onShareAppMessage` 方法中返回一个对象,否则分享按钮将不会显示。