Taro: function组件中如何使用 getOpenerEventChannel

Created on 15 Jul 2020  ·  8Comments  ·  Source: NervJS/taro

这个特性解决了什么问题?

下级页面往上级页面传递数据

这个 API 长什么样?

类似于 useDispatch ??

enhancement

Most helpful comment

when use the Taro.eventCenter, the event was triggered in navigateTo's callback which was done before the event listener was registered in target page componentDidMount. Hence event listener will not run when entering the page first.

All 8 comments

同问 在hooks中怎么使用getOpenerEventChannel这个函数想来源页面传值

暂时用这个方法可以获取到eventChannel

const pages =getCurrentPages();
const current = pages[pages.length - 1];
const eventChannel = current.getOpenerEventChannel();

可以找到这个方法了,但是获取到的eventChannel是个空对象,你这边是这个情况吗

是因为调用getOpenerEventChannel()方法时报了[data is not defined]这个错误,我分别在useReady、useLayoutEffect、useEffect这三个生命周期中调用报的错误相同,有人遇到相同的问题吗?

@zxtyjx 我在useEffect中可以获取成功

AFr16S5qRjkxwLH
u8yoiZMmfaxOjJK

when use the Taro.eventCenter, the event was triggered in navigateTo's callback which was done before the event listener was registered in target page componentDidMount. Hence event listener will not run when entering the page first.

Was this page helpful?
0 / 5 - 0 ratings