Wenn ich neu bin, um zu reagieren, verwende ich immer noch JQuery, um Ereignisse wie zuvor zu verarbeiten.
Angenommen, ich verwende index.js, um einige Komponenten zu organisieren, a.js und b.js.
Ich muss Ajax implementieren, um Bilder in eine bestimmte Komponente zu laden.
Wo Sollte diese Veranstaltung mit Wolltuch montiert werden? compnentDidMount?
Müssen alle Ereignisse auf der Komponente selbst montiert werden?
Ist die Komponentenlebenszyklusfunktion für die Bereitstellung verschiedener Ereignisse ausgelegt?
Keine Ereignisse außer Rendern in index.js schreiben?
生命周期顾名思义是给你在组件各种阶段做一些事情,调用ajax是其中一种,但不是唯一一种。
在不引入Redux的前提下,尽可能不要在子组件内调用ajax,尽可能放在一个最高的父组件。
render是渲染函数,事件处理函数是挂载在jsx上。
你也可能等组件渲染之后用原生js给组件添加事件,这也没问题。
如果只是组件内部交互的事件,那么你ajax加载事件就写到compnentDidMount组件渲染完成里就行了。
react 中的render是自己判断来重新渲染的,只要你的state中值发生了变化,它自己会重新判断那些地方需要更新.
交互的话,你正常写onClick 的事件等都可以哇,要记得写的时候注意this指向问题,推荐箭头函数来写.
另,如果有些函数为了避免重复绑定,可以在组件的构造函数中统一进行绑定.
我需要在某一个组件中实现ajax加载图片
这个事件应该挂载在哪里呢?compnentDidMount?
答:看你怎么加载,如果通过事件加载图片,那么直接在组件上绑定事件,发请求,用state控制组件是否展示,如果页面初始化的时候加载,那么直接在componentDidMount发请求就好了。
组件生命周期函数是设计来挂载各种事件的吗?
答:组件生命周期不同的阶段会触发不一样的方法,可能是发请求,可能是改变state,不一定的~
index.js里除了render之外不写任何事件?
答:index是入口文件阿~