如何在React Native中跟踪“功能组件”的渲染计数?

时间:2020-03-01 00:21:23

标签: react-native

理想情况下,我想在每个组件中放置一个圆形的组件,并在屏幕上查看渲染计数。

如何使用挂钩/功能组件跟踪重新渲染?

1 个答案:

答案 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}
    </>
  );
};

最后得到这样的东西。