react分了组件后,怎么在这个组件里触发另一个组件的方法呢?

比如:
上面是表单部分组件,
下面是商品列表组件,
怎么在用户点击表单时触发下面商品组件的搜索呢?

用了redux,现在是通过:
1.点击表单,将表单数据传递到redux
2.redux分发给商品列表组件
3.商品列表组件监听表单数据的改动
4.发现改动时根据表单数据发起请求

还有什么别的方式吗?

阅读 3.5k
3 个回答

题主画蛇添足了,没有必要使用redux。既然表单组件和列表组件是在同一个页面中的,那就把需要用到的数据,放到这个页面中进行管理就可以了。
题主应该接触过容器组件和展示组件这类概念吧,容器组件和数据交互,展示组件只负责根据数据渲染UI,题目中表单组件和商品列表组件就是展示组件,他们所在的页面就是容器组件,那么将共同的数据操作交给页面就行了,然后把数据通过prop交给表单组件去展示就行了。

一般来说 class组件 通过生命周期监听 function组件通过 useEffect

可以使用ref来获取组件实例

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题