Question: I have a login screen created using react-native.

How can I shift my screen up when the user is typing in the textInput?

Do I listen to the onFocus() event and use css styling to change the style of the view?

Answer: 
In 2017 (RN 0.43) there is special component for this: [KeyboardAvoidingView](https://reactnative.dev/docs/keyboardavoidingview)
You can use [ScrollView](https://facebook.github.io/react-native/docs/scrollview.html) to control screen up and down movements. As long as user hasn't focused any `TextInput`, you can [disable scroll](https://facebook.github.io/react-native/docs/scrollview.html#scrollenabled). On focus, just shift up the scrollview using [Content Offset](https://facebook.github.io/react-native/docs/scrollview.html#contentoffset) prop.

```html
<TextInput
    onFocus={this.textInputFocused.bind(this)}
  />

textInputFocused() {
//do your stuff here. scroll screen up
}

```

Hope it helps!