React Components - 避免重新渲染

时间:2021-04-18 15:49:49

标签: reactjs render

新来的反应...我有一个组件,它有一个处于状态的数组。在渲染函数中,它将数组映射到一组渲染表单组件(通常是选择)的子组件。如果用户更改其中一个选择,则子进程会调用 onChange,后者会运行处理程序以通过 useState() 提供的函数更新数组。问题 - 然后重新渲染每个子组件。有没有办法避免这种情况? React.memo 似乎没有帮助,因为有许多具有不同 props 的相同 Child 组件的实例。

大致:

import requests, os
...
...

url = 'http://www.example.com/images/check'
path_img = f'{self.path}/myimage.jpg'
image_to_send = {'image': open(path_img, 'rb').read()}
r = requests.post(url, data=image_to_send)
print(r)  # prints out status code 413 coming from Nginx

1 个答案:

答案 0 :(得分:0)

为了防止重新渲染,React.memo 是正确的方法,但是您需要记住 handleChange 函数,否则在重新渲染期间每个子组件将引用一个 {{1}与之前的重新渲染不同的函数,因此无法停止重新渲染

onChange