理想情况下,我想在每个组件中放置一个圆形的组件,并在屏幕上查看渲染计数。
如何使用挂钩/功能组件跟踪重新渲染?
答案 0 :(得分:2)
好的,回到这一点,找出对我有用的东西。
import React, { useRef } from 'react';
import { TextInput } from 'react-native';
const SHOW_RENDER_COUNTERS = true;
const useRenderCounter = () => {
const renderCount = useRef(0);
renderCount.current = renderCount.current + 1;
if (__DEV__ && SHOW_RENDER_COUNTERS) {
return (
<TextInput
style={{
backgroundColor: 'hsl(0, 100%, 50%)',
borderRadius: 6,
color: 'hsl(0, 0%, 100%)',
fontSize: 10,
fontWeight: 'bold',
height: 35,
margin: 2,
textAlign: 'center',
width: 35,
}}
value={String(renderCount.current)}
/>
);
}
return null;
};
export default useRenderCounter;
(使用SHOW_RENDER_COUNTERS
全局显示/隐藏计数器。)
然后将其内联到要跟踪的组件中。
const Bubble = () => {
const renderCounter = useRenderCounter();
return (
<>
<BubbleCoomponentCode />
{renderCounter}
</>
);
};
最后得到这样的东西。