Open anisharya16 opened 4 years ago
Any solution for this issue?
Is the code where you are calling this a functional component or a class component?
Can you show us the code where you are calling listenOrientationChange()
?
I suspect your issue is related to PR https://github.com/marudy/react-native-responsive-screen/pull/70
See the PR I just pushed: PR #83
It has instructions on how to download and use it. Hopefully we can get this pulled into master and published soon.
Hello, you have changed from class component to functional component thus, this.setState is now working in Functional component instead you can use Hooks.
make some changes in code like :
const Orientation = () => { const [dimensions, setDimensions] = useState({ window, screen });
useEffect(() => {
const subscription = Dimensions.addEventListener(
'change',
({ window, screen }) => {
setDimensions({ window, screen });
}
);
return () => subscription?.remove();
});
return dimensions.screen.height > dimensions.screen.width ? 'portrait' : 'landscape'
}
Is this a bug report, a feature request, or a question? Bug
Is the bug reproducible in a production environment (not a debug one)? Yes
Environment "react": "16.11.0", "react-native": "0.62.2", "react-native-responsive-screen": "^1.4.1",
Bug: TypeError: this.setState is not a function. (In 'this.setState({orientation: screenWidth < screenHeight ? 'portrait' : 'landscape'})', 'this.setState' is undefined)
I was using class component but had to change it to functional component as per project requirement. Since I changed it to functional component, orientation change is not working and am getting this error. I have attached screenshot for reference to this. Need solution for this, as i have used this library many times in my project.