reactnative兄弟component如何相互调用方法?



  • 自己花了很多时间寻找答案未果,诚心前来求教。

    父component可以通过props来传递方法给子component,但是如果在父component中调用子component的方法呢,注意是方法,这个方法不会有view的变化,所以不是常规的通过改变state来解决。

    例如:
    <View>
    <Compontent1 />
    <Compontent2 />
    </View>
    我要在Component2模块中调用Component1中的一个方法,请问要如何操作呢?



  • @夜漫长 建议看一下《初学者理解Navigator》那篇博文,作者在最后觉得例子就相当于是跨组件的方法调用


  • administrators

    @夜漫长 父component中调用子component可以通过ref来调用
    例如
    <View>
    <Component1 ref="comp1"/>
    <Component2 />
    </View>

    假如Component1有someMethod()
    那么可以在父component中调用this.refs.comp1.someMethod()

    如果比这更复杂的跨组件调用,那你就需要redux这样的方案了



  • @sunnylqm 非常感谢!目前就用ref来实现了,后面再去了解了解redux。



  • @fallice 好的,我去看看。感谢!


登录后回复