初学react 思维还是像以前一样用jquery的方式处理事件
假设我用index.js组织一些组件a.js b.js
我需要在某一个组件中实现ajax加载图片
这个事件应该挂载在哪里呢?compnentDidMount?
是不是所有的事件都要挂载在组件自身上?
组件生命周期函数是设计来挂载各种事件的吗?
index.js里除了render之外不写任何事件?
大家讲道理2017-05-19 10:36:33
生命周期顾名思义是给你在组件各种阶段做一些事情,调用ajax是其中一种,但不是唯一一种。
在不引入Redux的前提下,尽可能不要在子组件内调用ajax,尽可能放在一个最高的父组件。
render是渲染函数,事件处理函数是挂载在jsx上。
你也可能等组件渲染之后用原生js给组件添加事件,这也没问题。
迷茫2017-05-19 10:36:33
react 中的render是自己判断来重新渲染的,只要你的state中值发生了变化,它自己会重新判断那些地方需要更新.
交互的话,你正常写onClick 的事件等都可以哇,要记得写的时候注意this指向问题,推荐箭头函数来写.
另,如果有些函数为了避免重复绑定,可以在组件的构造函数中统一进行绑定.
阿神2017-05-19 10:36:33
我需要在某一个组件中实现ajax加载图片
这个事件应该挂载在哪里呢?compnentDidMount?
答:看你怎么加载,如果通过事件加载图片,那么直接在组件上绑定事件,发请求,用state控制组件是否展示,如果页面初始化的时候加载,那么直接在componentDidMount发请求就好了。
组件生命周期函数是设计来挂载各种事件的吗?
答:组件生命周期不同的阶段会触发不一样的方法,可能是发请求,可能是改变state,不一定的~
index.js里除了render之外不写任何事件?
答:index是入口文件阿~