【发布时间】:2021-01-19 05:31:00
【问题描述】:
我想知道在 useEffect 钩子内或在返回渲染之前“执行任务”有什么区别?
假设我作为道具发送的对象 {data} 在这两种情况下都是 { number1: 2, number2: 3 }
喜欢:
import React from "react";
export default ({ data }) => {
let resultSum = 0;
let number1 = data.number1;
let number2 = data.number2;
resultSum = number1 + number2;
return <div>{resultSum}</div>;
};
或类似:
import React, { useState, useEffect } from "react";
export default ({ data }) => {
const [resultSum, setResultSum] = useState(0);
useEffect(() => {
let number1 = data.number1;
let number2 = data.number2;
setResultSum(number1 + number2);
}, []);
return <div>{resultSum}</div>;
};
在这两种情况下,页面都会将结果渲染为 5,并且在这两种情况下,任务都会在渲染页面之前处理...有什么区别?
谢谢
【问题讨论】:
标签: javascript reactjs react-native user-interface jsx