【发布时间】:2021-05-06 10:08:20
【问题描述】:
在下面的代码中,我使用了 2 个“useState”钩子。每当我调用这些钩子中的任何一个的“setState”函数时,都会重新渲染整个组件(检查“console.log”语句)。如果我为一个变量调用“setState”,我希望只渲染与该变量关联的元素,而不是整个组件
代码片段:
const App = () => {
const [count, setCount] = React.useState(0)
const [count2, setCount2] = React.useState(0)
return (
<SafeAreaView>
<TouchableOpacity onPress={() => setCount(count => count + 1)}>
{console.log('Counter 1')}
<Text>{count}</Text>
</TouchableOpacity>
<TouchableOpacity onPress={() => setCount2(count2 => count2 + 1)}>
{console.log('Counter 2')}
<Text>{count2}</Text>
</TouchableOpacity>
</SafeAreaView>
);
};
【问题讨论】:
-
reactjs.org/docs/hooks-reference.html#usememo - 使用 useMemo
-
@AbuDujanaMahalail,你能解释一下吗?谢谢
标签: javascript reactjs react-native react-hooks state