最好使用 useState 或在功能组件(React Native 应用程序)中设置为常量



我的 React Native 应用程序中有一个使用功能组件的常量 userIndex。

我使用以下方法初始化用户索引:

const [userIndex, setUserIndex] = useState(0); 

我还有一个常量叫做renderedUserIndex。对我来说,似乎有两种方法可以设置此常量:

OPTION A:
const renderedUserIndex = userIndex % 2 === 0 ? userIndex : userIndex + 1; 

二是:

OPTION B:
const [renderedUserIndex, setRenderedUserIndex] = useState(0);
useState(() => {
setRenderedUserIndex(userIndex % 2 === 0 ? userIndex : userIndex + 1); 
}, [userIndex]); 

哪种方法更受欢迎?

我假设你的意思是在最后一个片段中useEffect并像这样回答这个问题。

选项A绝对是要走的路。如果您在同一功能组件中使用renderedUserIndex,那么实际上没有理由将其保存在自己的状态中。

如果您需要两个索引在某个时候出现分歧,则可以使用选项 B,否则就不需要它。

最好的选择是遵循

const renderUserIndex = useMemo(() => userIndex % 2 === 0 ? userIndex : userIndex + 1 , [userIndex])

就像现在一样,渲染用户索引只会在用户索引更改意味着 s 时计算它不会在每次渲染时不必要地计算。

相关内容

  • 没有找到相关文章

最新更新