react函数式组件 PubSub消息订阅与发布(消息订阅与发布的时机非常关键)一个页面(A)跳转到另一个页面(B)的传值方法
react 函数式组件 使用antd框架
实现两个没有父子关系,单纯两个页面之间的值传递
一个页面跳转到另一个页面的传值方法:
1、通过路由传值
2、使用PubSub:消息订阅与发布传值
发布消息:standardType为我设置的一个值,需要再另一个页面中应用。
```typescript
fieldProps={{
onChange: (value) => {
PubSub.publish("standards", standardType);
}
}}
使用订阅消息
完成对表单的赋值操作
useEffect(() => {
var token = PubSub.subscribe("standards", (msg: any, data: any) => {
setStandardType(data);
console.log(msg, data);
})
const standardParams = {
determineNorm: standardType,
};
baseForm.setFieldsValue(standardParams)
// 默认值赋值
console.log(token);
}, [standardType])
我遇到的坑:在useEffect中,订阅消息的时机不合适,以至于一直无法更新到页面中去。后来使用useEffect的第二个参数检测值的变化,并更新(渲染)到页面中去。
**在全栈的路上越走越远。。。。。。。。。。。**
本文来自博客园,作者:doufei,转载请注明原文链接:https://www.cnblogs.com/lfdou/p/17412936.html