React-属性传值(传事件)

react

1.给事件传递一个参数

触发事件函数的形参:

实参是谁给出呢:是调用这个触发函数的事件给出的,这里要注意一个问题,不能直接这样写

这样写系统运行时会直接执行这个函数,而不是通过触发执行,解决办法有如下2个方法:

1.es6提供的箭头函数:

2.另一种方法:bind绑定(更建议大家使用)

bind中第一个传的地方就是当前所指向的对象this,就是下图中的2处

2.使用属性传值传递一个函数

目的:让子组件可以通过触发方法去执行父组件当中对应的一个方法。

即通过子组件的触发事件去执行父组件里面的一个方法。

之前写的的属性传值传递的是一个状态或者某一个值传递过去,但是这里现在传递的是一个事件。

现在的需求是在子组件里面点击p标签来更改对应的内容,那么就需要传递对应的一个事件,即点击p标签想要来触发App.js里面的switchNameHandler = (newName) =>{}方法,那就需要将这个方法switchNameHandler = (newName) =>能够传递给子组件。

子组件里面的触发事件的写法:

圆圈中的属性名自己随便起,它和根组件里面的name和count本质是一样的,此时在App.js当中还没有定义这个属性

App.js(根组件)里面如何定义这个属性:

给谁传了事件它才会拥有这个事件(即第二个Person调用才会拥有这个属性)。

父组件这个属性的名字与子组件里面的属性的名字一样的(都是我们起的),这个属性的目的是为了给子组件传递子组件想要的函数(传递要传递的事件),这样就将这个事件传递给了子组件里面了

子组件里面的函数的形参(props)能够接收父组件传递过来的所有值。

总结:具体的执行步骤:

1.子组件触发方法

2.到父组件里面去找传递的这个属性(myclick)的位置

3.执行myclick里面的指向的函数:

执行结束;

以上是 React-属性传值(传事件) 的全部内容, 来源链接: utcz.com/z/381502.html

回到顶部