我需要在React(Native)中有条件地添加一个函数。
该代码可以工作,但是大概在平台为Web时不必要地调用onScroll
事件,我认为这对于性能而言不是理想的选择吗?
<ScrollView
onScroll={() => {
if(Platform.OS === 'web') {
return;
}
container.current?.onScroll();
}}
>
有条件设置
onScroll
道具的方法吗? 最佳答案
您可以,但是就性能而言,这可能比付出的努力更多。调用不执行任何操作的函数的成本很少。
您可以将props构造为JSX之外的对象,并使用spread运算符将其传递,如下所示:
const scrollViewProps = {}
if (Platform.OS !== "web") {
scrollViewProps.onScroll = () => {
container.current?.onScroll()
}
}
<ScrollView {...scrollViewProps} />
关于reactjs - 有条件地在React中添加功能作为prop?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61588829/