스택 네비게이터에서 헤더 숨기기 React Navigation
스택 및 탭 탐색기를 모두 사용하여 화면을 전환하려고합니다.
const MainNavigation = StackNavigator({
otp: { screen: OTPlogin },
otpverify: { screen: OTPverification},
userVerified: {
screen: TabNavigator({
List: { screen: List },
Settings: { screen: Settings }
}),
},
});
이 경우 stacknavigator를 먼저 사용한 다음 tabnavigator를 사용합니다. 스택 탐색기의 헤더를 숨기고 싶습니다. 다음과 같은 탐색 옵션을 사용할 때 제대로 작동하지 않습니다.
navigationOptions: { header: { visible: false } }
나는 stacknavigator에서 사용하는 처음 두 구성 요소 에서이 코드를 시도하고 있습니다. 이 줄을 사용하면 다음과 같은 오류가 발생합니다.
이것을 사용하여 스택 바를 숨 깁니다 (두 번째 매개 변수의 값입니다).
{
headerMode: 'none',
navigationOptions: {
headerVisible: false,
}
}
이 방법을 사용하면 모든 화면에서 숨겨집니다.
귀하의 경우에는 다음과 같이 보일 것입니다.
const MainNavigation = StackNavigator({
otp: { screen: OTPlogin },
otpverify: { screen: OTPverification },
userVerified: {
screen: TabNavigator({
List: { screen: List },
Settings: { screen: Settings }
}),
}
},
{
headerMode: 'none',
navigationOptions: {
headerVisible: false,
}
}
);
헤더를 숨기려는 페이지에서 아래 코드를 사용하십시오.
export default class Login extends Component {
static navigationOptions = {
header: null
}
}
이것을 클래스 / 컴포넌트 코드 스 니펫에 추가하면 헤더가 숨겨집니다.
static navigationOptions = { header: null }
화면이 클래스 구성 요소 인 경우
static navigationOptions = ({ navigation }) => {
return {
header: () => null
}
}
첫 번째 방법 (함수)으로 대상 화면에 이것을 코딩하십시오.
다음과 같이 특정 화면에서 숨기려면 다음을 수행하십시오.
// create a component
export default class Login extends Component<{}> {
static navigationOptions = { header: null };
}
누군가 헤더를 토글하는 방법을 찾고 있다면 componentDidMount에서 다음과 같이 작성하십시오.
this.props.navigation.setParams({
hideHeader: true,
});
언제
static navigationOptions = ({ navigation }) => {
const {params = {}} = navigation.state;
if (params.hideHeader) {
return {
header: null,
}
}
return {
headerLeft: <Text>Hi</Text>,
headerRight: <Text>Hi</Text>,
headerTitle: <Text>Hi</Text>
};
};
이벤트가 완료되면 어딘가에 :
this.props.navigation.setParams({
hideHeader: false,
});
내가 사용하고 header : null대신 header : { visible : true }내가 사용하고는 반응 네이티브 CLI를. 이것은 예입니다.
static navigationOptions = {
header : null
};
사용하다
static navigationOptions = { header: null }
클래스 / 컴포넌트에서
class Login extends Component {
static navigationOptions = {
header: null
}
}
이것은 나를 위해 일했습니다.
const Routes = createStackNavigator({
Intro: {
screen: Intro,
navigationOptions: {
header: null,
}
}
},
{
initialRouteName: 'Intro',
}
);
대상 화면에서 이것을 코딩해야합니다!
static navigationOptions = ({ navigation }) => {
return {
header: null
}
}
const CallStack = createStackNavigator({
Calls: Calls,
CallsScreen:CallsScreen,
}, {headerMode: 'none'});
CallStack.navigationOptions = {
tabBarLabel: 'Calls',
tabBarIcon: ({ focused }) => (
<TabBarIcon
focused={focused}
name={Platform.OS === 'ios' ? 'ios-options' : 'md-options'}
/>
),
header: null,
headerVisible: false,
};
모든 대답은 클래스 구성 요소로 수행하는 방법을 보여 주지만 기능 구성 요소의 경우 다음을 수행합니다.
const MyComponent = () => {
return (
<SafeAreaView>
<Text>MyComponent</Text>
</SafeAreaView>
)
}
MyComponent.navigationOptions = ({ /*navigation*/ }) => {
return {
header: null
}
}
헤더를 제거하면 구성 요소가 볼 수없는 곳에있을 수 있으므로 (휴대 전화에 정사각형 화면이없는 경우) 헤더를 제거 할 때 사용하는 것이 중요합니다.
저도 같은 문제를했습니다하지만 난 사용하여 개별 클래스 내 헤더 작업을 완료했습니다 navigationOptions내가 사용하고 createBottomTabNavigator그 헤더 볼 수 있으며 클래스의 헤더가 표시되지 않습니다. 내가 좋아하는 모든 것을 시도했다 headerMode: none, header: null등등, 그러나의 헤더를 숨길 수 없었다 bottomTabNavigator.
참고 URL : https://stackoverflow.com/questions/44701245/hide-header-in-stack-navigator-react-navigation
'program story' 카테고리의 다른 글
| Laravel 뒤로 버튼 (0) | 2020.11.09 |
|---|---|
| Android Studio 2.0에서 에뮬레이터를 시작할 수 없습니다. (0) | 2020.11.09 |
| 부트 스트랩 드롭 다운이 작동하지 않음 (0) | 2020.11.09 |
| NSDate를 사용하여 Swift 3에서 시간 (시, 분, 초)을 얻는 방법은 무엇입니까? (0) | 2020.11.09 |
| Python이 Java / C #보다 느립니까? (0) | 2020.11.09 |
