在 M1 MacBook Pro 的模拟器上运行我的 React Native 项目。ScrollViews 在模拟器中不能正确滚动。Big Sur 和 M1 的这个设置只有一个问题。适用于其他计算机和真实设备。
当我滑动时,视图会滚动,但它需要很大的“力”,并且视图在我滚动时似乎滞后。此外,它会在我松开按钮时立即停止(不会按预期继续滚动)。
还有其他人遇到这个问题吗?
设置:
我正在尝试使用 @testing-library/react-native 测试使用 onLayout 事件的组件,该组件通过组件道具使用 setState 函数,但从未调用该函数:
expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: 100
Number of calls: 0
Run Code Online (Sandbox Code Playgroud)
我怎样才能使这项工作?怎么了?
成分:
type Props = {
children: React.ReactNode
setHeaderHeight: React.Dispatch<React.SetStateAction<number>>
}
const HeaderSetHeightWrapper = ({ children, setHeaderHeight }: Props) => {
return (
<Wrapper
onLayout={({
nativeEvent: {
layout: { height }
}
}) => {
setHeaderHeight(Math.floor(height))
}}
testID="header-h"
>
{children}
</Wrapper>
)
}
const Wrapper = styled.View`
position: absolute;
left: 0;
top: 0;
`
Run Code Online (Sandbox Code Playgroud)
测试:
it('should set the header height on layout', async () => { …Run Code Online (Sandbox Code Playgroud)