搜索

首页  >  问答  >  正文

javascript - react中,交互和事件写在哪里?

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

给我你的怀抱给我你的怀抱2748 天前592

全部回复(4)我来回复

  • 大家讲道理

    大家讲道理2017-05-19 10:36:33

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

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

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

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

    回复
    0
  • 为情所困

    为情所困2017-05-19 10:36:33

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

    回复
    0
  • 迷茫

    迷茫2017-05-19 10:36:33

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

    回复
    0
  • 阿神

    阿神2017-05-19 10:36:33

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

    回复
    0
  • 取消回复