javascript - react中,交互和事件写在哪里?
给我你的怀抱
给我你的怀抱 2017-05-19 10:34:33
0
4
590

初学react 思维还是像以前一样用jquery的方式处理事件
假设我用index.js组织一些组件a.js b.js
我需要在某一个组件中实现ajax加载图片
这个事件应该挂载在哪里呢?compnentDidMount?
是不是所有的事件都要挂载在组件自身上?
组件生命周期函数是设计来挂载各种事件的吗?
index.js里除了render之外不写任何事件?

给我你的怀抱
给我你的怀抱

全部回复(4)
大家讲道理

生命周期顾名思义是给你在组件各种阶段做一些事情,调用ajax是其中一种,但不是唯一一种。

在不引入Redux的前提下,尽可能不要在子组件内调用ajax,尽可能放在一个最高的父组件。

render是渲染函数,事件处理函数是挂载在jsx上。

你也可能等组件渲染之后用原生js给组件添加事件,这也没问题。

为情所困

如果只是组件内部交互的事件,那么你ajax加载事件就写到compnentDidMount组件渲染完成里就行了。

迷茫

react 中的render是自己判断来重新渲染的,只要你的state中值发生了变化,它自己会重新判断那些地方需要更新.
交互的话,你正常写onClick 的事件等都可以哇,要记得写的时候注意this指向问题,推荐箭头函数来写.
另,如果有些函数为了避免重复绑定,可以在组件的构造函数中统一进行绑定.

阿神

我需要在某一个组件中实现ajax加载图片
这个事件应该挂载在哪里呢?compnentDidMount?
答:看你怎么加载,如果通过事件加载图片,那么直接在组件上绑定事件,发请求,用state控制组件是否展示,如果页面初始化的时候加载,那么直接在componentDidMount发请求就好了。
组件生命周期函数是设计来挂载各种事件的吗?
答:组件生命周期不同的阶段会触发不一样的方法,可能是发请求,可能是改变state,不一定的~
index.js里除了render之外不写任何事件?
答:index是入口文件阿~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板