I'm newbie in MVVM . I have two xaml pages. the second one cannot be accessed ( Locked ) unless the button from the first page (Introduction page) has been clicked. How can I do that?

The lock page has this code.

```
<Frame Grid.Row="0" Grid.Column="1" BackgroundColor="LightGray" IsVisible="{Binding LockPage}">
                <Frame.GestureRecognizers>
                    <TapGestureRecognizer Tapped="Tap_Lock" />
                </Frame.GestureRecognizers>
                <Label Text="Locked"/>
            </Frame>

```

The Introduction page has this code.

```
<StackLayout>
        <Label Text="This is only a simple Introduction Text."/>
        <Label Text=""/>
        <Button Text="Lets Go!!" Command="{Binding UnlockPageCommand}" Clicked="Tap_Next"/>
</StackLayout>

```

This is the the class LockModule.cs

```
 public class LockModule : INotifyPropertyChanged
{

    public LockModule()
    {
        UnlockPageCommand = new Command(UnlockPage);
    }

    bool lockPage = true;
    public event PropertyChangedEventHandler PropertyChanged;

    void OnPropertyChanged(string lockpage)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(lockpage));
    }

    public bool LockPage
    {
        get { return lockPage; }
        set
        {
                lockPage = value;

            OnPropertyChanged(nameof(LockPage));
        }
    }

    public Command UnlockPageCommand { get; }

    void UnlockPage()
    {
        if (lockPage == true)
        {
            lockPage = false;
        }
        else
        {
            lockPage = true;
        }
        OnPropertyChanged(nameof(LockPage));
    }
}

```

and it's not working......
['https://Stackoverflow.com/questions/51989213', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/10161534/']
I was trying to get my RN app running on port **8088** instead of default port **8081**. I've spend almost 2 days to figure out how to do this, but the solutions found were not working in my case. Finally i've found a way to tackle this problem. Follow the 3 steps and get this resolved.

1. In `metro.config.js` file, add the following snippet within the `module.exports`.

> 
> server: {
>  port: 8088, }
> 
> 
> 

2. Search for 8081 in the entire ios project and replace the value with `8088`. I had to do this in the following files for the variable `RCT_METRO_PORT`.

> 
> * ios/Pods/Headers/Private/React-Core/React/RCTDefines.h
> * ios/Pods/Headers/Public/React-Core/React/RCTDefines.h
> 
> 
> 

3. Run the build as usual, this time with the port passed as an argument.

> 
> `npx react-native run-ios --port 8088`
> 
> 
> 

Thanks!
After migrating the React Native CLI configs into `@react-native-community/cli` changing the default PORT for metro bundler became very easier, for changing the default PORT just export an environment variable by the following command inside you project path:

```
export RCT_METRO_PORT=8590

```

Also, find the `RCTDefines.h` files inside your `ios/Pods` folder, there are two of them and inside both of them change the value `8081` to `8590`.

For a test run the `echo $RCT_METRO_PORT` and if you see the new PORT `8590`, it is changed now and easily run your project with default commands.

***NOTE***: For using React Native Debugger for development just press `⌘`+`t` and then change the port value `8081` to `8590`.