प्रतिक्रिया-नेविगेशन v5 का उपयोग करते हुए, एक स्क्रॉल दृश्य और एक कीबोर्ड सुरक्षित दृश्य में सभी स्क्रीन को अलग-अलग कैसे लपेटता है?

export default function App() {
  return (
      <NavigationContainer>
        <Stack.Navigator initialRouteName="Home">
          <Stack.Screen name="Home" component={HomeScreen} />
          <Stack.Screen name="Test" component={TestScreen} />
        </Stack.Navigator>
      </NavigationContainer>
  );
}
1
Dynamic 4 अक्टूबर 2020, 03:46

1 उत्तर

सबसे बढ़िया उत्तर

नेविगेशन कंटेनर के अंदर आपको केवल नेविगेटर या स्क्रीन का उपयोग करने की अनुमति है। इसलिए आप Stack.Screen को किसी अन्य घटक के साथ लपेट नहीं सकते।

आप क्या कर सकते हैं स्क्रीन घटक को लपेटें:

एक नया घटक बनाएं ScreenTemplate हो सकता है, आप नाम तय कर सकें। फिर अपने कीबोर्ड से बचने और तर्क को स्क्रॉल करने के लिए इस घटक का उपयोग करें।

const ScreenTemplate = ({children}) => (
   <AnyWrapperComponent>
      {children}
   </AnyWrapperComponent> 
);

किसी अन्य स्क्रीन में:

const HomeScreen = () => (
   <ScreenTemplate>
     //implement anything you want
      <BlaBlaComponent />
    //etc..
   </ScreenTemplate>
);
1
Erkin Kurt 4 अक्टूबर 2020, 14:40