如何解决 React 中组件传递方法链路很长的问题?

2021 年 7 月 14 日
 xrr2016

一个组件 A 的方法通过 props 传递到组件 B 然后到组件 C 再到 D 再到 E...

这样的写法找起来真是痛苦啊,所以如何解决这种问题呢?

网上搜了一圈没找到方案,所以来问下哈哈哈

4227 次点击
所在节点    React
31 条回复
Puteulanus
2021 年 7 月 14 日
用 context ?
P233
2021 年 7 月 14 日
context
fengfuliu
2021 年 7 月 14 日
context 或者状态管理库
qingzhan
2021 年 7 月 14 日
试试这个? /t/786936
HALOZ
2021 年 7 月 14 日
方法很多,context 、redux 、发布-订阅模式、甚至 session
gxm44
2021 年 7 月 14 日
state management or context
zhuweiyou
2021 年 7 月 14 日
状态管理 或 pub-sub
Leviathann
2021 年 7 月 14 日
我试过 context,可以解决
然后 review 不给过,说 context 不好控制。。
xrr2016
2021 年 7 月 14 日
好的,试试 context
KuroNekoFan
2021 年 7 月 14 日
context 挺好的
Cuo
2021 年 7 月 14 日
Redux
newbieRenew
2021 年 7 月 14 日
直接 Redux 了,全局更新,不用管传来传去。
xrr2016
2021 年 7 月 14 日
@Leviathann 为啥不好控制?
xwchenhui
2021 年 7 月 14 日
@HALOZ #5 session 还行,走位风骚
Imindzzz
2021 年 7 月 14 日
你需要一个状态管理插件,以前我用 redux mobx 。
react 16 推出 hooks 后我使用 https://github.com/jamiebuilds/unstated-next/blob/master/README-zh-cn.md

readme 的指南部分,有介绍这个库的设计思路,就是用简单封装一下 react 的 context api
musi
2021 年 7 月 14 日
window (狗头)
shakukansp
2021 年 7 月 14 日
let fn = () => {}

const useYourFN = () => {
const [localFn, setLocalFn] = useState(fn)

return {
localFn,
setLocalFn
}
}
shakukansp
2021 年 7 月 14 日
@shakukansp 漏了 setLocalFn 外面再套一层设置外部 fn 的方法再 return
susumail
2021 年 7 月 14 日
context
JerryCha
2021 年 7 月 14 日
建议 redux,context 有重渲染的坑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/789488

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX