关于react共享同一个组件

来源:1-1 react中的组件(1)

weixin_慕圣6334738

2021-07-07 23:47:20

老师你好,我在用react练习做一个小网站,网站有home 页面和searchResult页面, 两个页面都有一个共同的component叫做searchbar,但是在searchResult页面里面调用searchbar的时候往里面传入了几个方法,这几个方法是写在searchResult里的,但是home调用的时候因为home里面没有写这几个方法,因此在使用home的searchbar的时候会报错说找不到方法A, 有什么方法可以解决这个问题吗?


问题例子如下:

http://img.mukewang.com/climg/60e5cb6609b6d1db06230423.jpg

图片1为searchresult,往navbar里面传入了一个叫做getsearchresult的方法, 那么在navbar里面我会返回一套数据来更新searchresult的employeeprofile(子组件改变父组件数据),就像上面的setstate里的

http://img.mukewang.com/climg/60e5cbed094e82d905720134.jpg

图2为homepage,也引入了这个navbar, 但是由于homepage这个组件里面没有写像searchresult那些杂七杂八的方法,也就无法传递进去navbar, 如果我也想用图2的navbar来返回一套数据从而来改变searchresult里的employeepreprofile我需要怎么做呢

写回答

2回答

好帮手慕言

2021-07-08

同学你好,把数据传递给homepage和searchresult的父组件,再由父组件传递给searchresult。

祝学习愉快~

0
heixin_慕圣6334738
hp>可以的这波

h021-07-08
共1条回复

好帮手慕言

2021-07-08

​同学你好,老师只提供个思路,解决方案1:homepage也传递多个方法。解决方案2:searchresult不传递多个方法,和homepage一样,传递一个方法。

祝学习愉快~

0
heixin_慕圣6334738
hp>老师你好, 这两个方案我也想到了。关键是我searchresult页面用的数据是searchresult这个页面里面的state的数据,我在homepage也写跟searchresult一样的方法,那我怎么在homepage里面改变searchresult的state的数据呢

h021-07-08
共1条回复

0 学习 · 15276 问题

查看课程