Q:

Reloading a page after an error, redux

I am trying to create a button to reload the page back to its original state if the user passed bad input.
I tried recalling the action but it doesn't have any effect on the page.
refreshOnError = () => {
    this.props.fetchData('AAA')
}

I also tried doing the following:
refreshOnError = () => {
    window.location.reload()
}

This returns this error undefined is not an object (evaluating 'window.location.reload')
This is my component 
import React, { Component } from 'react';
import { View, Text, ActivityIndicator, ScrollView} from 'react-native';
import { SearchBar, Button } from 'react-native-elements';
import { connect } from 'react-redux';
import {fetchData} from '../Redux/actions/postdata';

class Home extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dataInput:'',
        }
    }
    componentDidMount() {
        this.props.fetchData('AAA')
    }
    callFetchData = () => {
        this.props.fetchData(this.state.dataInput);
    }
    refreshOnError = () => {
        this.props.fetchData('AAA')
        //window.location.reload()
    }
    render() {
        const { fetching, warningVisibility} = this.props;
        if(fetching) {
            return(
              <View>
                  <ActivityIndicator />
              </View>
            )
        } else if(warningVisibility) {
            return(
                <View>
                    <Text>Check your internet connection</Text>
                    <Button title='Refresh' onPress={this.refreshOnError}/>
                </View>
            )
        } else {
            return (
                <ScrollView>
                    <SearchBar 
                        placeholder="Type your name"
                        onChangeText={(text) => this.setState({dataInput:text})}
                        onCancel={()=>this.setState({dataInput:''})}
                        onSubmitEditing={(text) => this.callFetchData({dataInput:text})}
                        value={this.state.dataInput}/>
                </ScrollView>      
            )
        }
  }
}

const mapStateToProps = (state) => {
    return {
      fetching: state.dataInfo.fetching,
      warningVisibility: state.dataInfo.warningVisibility
    }
};

export default connect(mapStateToProps, {fetchData})(Home);

Is there a way to refresh the page and get it back to its state before the user created the error?
Also, I am using redux-saga, if there is a way to create a saga to handle refresh that would be great. Thank you! 
UPDATE: my saga call
import { delay } from 'redux-saga';
import {call, put, takeEvery, fork} from 'redux-saga/effects';
import * as service from '../../Services/api';
import * as actions from '../actions/postData';
import * as types from '../actions/actionTypes';

function* fetchData(){
  try{
    yield put(actions.requestData());
    const [ post, comment ] = yield ([
      call(service.getUserPost),
      call(service.getUserComment)
    ])
    yield put(actions.receiveData( post.data, comment.data));    
  } catch(e){
    yield put(actions.receiveDataFailed());
  }
}

function* watchFetchData(){
  yield takeEvery(types.FETCH_Data, fetchData);
}

function* showWarning(action){
  yield delay(1500);
  yield put(actions.hideWarning());
}

function* watchReceiveDataFailed(){
  yield takeEvery(types.RECEIVE_DATA_FAILED, showWarning);
}

export default function* dataSaga(){
  yield fork(watchFetchData);
  yield fork(watchReceiveDataFailed);
}

A:

Since you want to reload the page back to original state, therefore you should create a reset() action that restores the reducers to its initialState,
Actions.js
export function reset () {
  return {
    type: RESET
  }
}

Reducers.js
const initialState = {/* Define your Initial State here */}

function mainReducer(state = initialState, action) { //<== Bind the initialState here
 switch (action.type) {
   case RESET:
     return initialState;
 ...
}

Sagas.js
function* fetchData(){
  ...
  catch(e){
    yield put(actions.reset()); // <== Reset to InitialState on Failure
    yield put(actions.receiveDataFailed());
  }
}

