<commit_before># Step 3

```
git checkout step-3
```

[Changes introduced](https://github.com/szymonmichalak/react-forms-path/compare/step-2...step-3)

In this step more inputs are added. Apart from the previous text input, you may find also **checkbox**, **radio buttons**, **email** and **date** inputs.

#### The most important changes:
- universal `handleInputChange` method that will take care of [updating all inputs on change](https://github.com/szymonmichalak/react-forms-path/blob/step-3/src/containers/App.js#L46), input name is now passed as an argument to this function. Because in this way the function is being invoked, we need to change `handleInputChange` method to [return another function](https://github.com/szymonmichalak/react-forms-path/blob/step-3/src/containers/App.js#L23), which will be triggered on change event, while passing `event` object as an argument,
- Radio buttons do not store their current state in `value` as other inputs do. `value` is here the specific option name, while `checked` [defines the current state](https://github.com/szymonmichalak/react-forms-path/blob/step-3/src/containers/App.js#L70) of such radio button.<commit_msg>Update Step3.md<commit_after># Step 3

```
git checkout step-3
```

[Changes introduced](https://github.com/szymonmichalak/react-forms-path/compare/step-2...step-3)

In this step, more inputs are added. Apart from the previous text input, you may also find the **checkbox**, **radio buttons**, **email** and **date** inputs.

#### The most important changes:
- a universal `handleInputChange` method that will take care of [updating all inputs on change](https://github.com/szymonmichalak/react-forms-path/blob/step-3/src/containers/App.js#L46). The input name is now passed as an argument to this function. Because, in this way, when the function is being invoked, we need to change `handleInputChange` method to [return another function](https://github.com/szymonmichalak/react-forms-path/blob/step-3/src/containers/App.js#L23), which will be triggered on the change event, while passing the `event` object as an argument,
- radio buttons do not store their current state in `value` as other inputs do. `value` is here the specific option name, while `checked` [defines the current state](https://github.com/szymonmichalak/react-forms-path/blob/step-3/src/containers/App.js#L70) of such radio button.
{'fraction_non_alphanumeric': 0.11868686868686869, 'fraction_numerical': 0.011363636363636364, 'mean_word_length': 4.912935323383085, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1400493', 'n_tokens_mistral': 707, 'n_tokens_neox': 692, 'n_words': 254}