React 子组件向父组件传递事件的方式

React 中子组件向父组件传递事件的方式,跟 vue 有点不同。

比如我有一个组件 FloatingButton,我需要点击它的时候,触发父类的事件

父组件

const [modalModal, setModalModal] = useState(false)

<FloatingButton title={'添加'} onPress={setModalModal}/>

子组件

<TouchableHighlight 
	style={styles.btnAdd} 
	onPress={()=>{props.onPress(true)}} 
	activeOpacity={0.5} 
	underlayColor={'#ddd'}>
    <View>
        <Text style={styles.title}>{ title }</Text>
    </View>
</TouchableHighlight>

子组件中的 props, 包含了父类中在子类上加的所有属性,包含事件方法。
比如这个例子中,子组件的 props 中就包含

  • title String
  • onPress Function

这里的 onPress 方法就指向了 setModalModal 方法,子组件中的 props.onPresssetModalModal 是一个东西
子组件中直接调用它的 props .setModalModal(要设置的值) 即可

Logo

前往低代码交流专区

更多推荐