Реагировать на проблему с типографским шрифтом не существует в строке типа - PullRequest
0 голосов
/ 14 октября 2018

Я использую реагировать с редуксом.В настоящее время я конвертирую свою кодовую базу в скрипт типа и испытываю трудности с типами, передаваемыми в мои действия по редукции.

Я вижу следующую ошибку:

Свойство 'access_token' не существует для типа 'строка'.

Я использую anyпоэтому я удивлен, что он все еще показывает ошибку.

См. код ниже.Что-то выскакивает у людей, которые выглядят неправильно?

interface DispatchProps {
  fetchTokenSuccess: (token: any) => void;
  getRequest: (token: any) => void;
}

class App extends React.Component<DispatchProps> {

  componentDidMount() {
     let token = JSON.parse(localStorage.getItem('token'));
     console.log(token.access_token); // this logs the token
     this.props.fetchTokenSuccess(token);
     this.props.getRequest(token.access_token); // the error is being generated from here
   }

   ...rest of component
}


const mapDispatchToProps = dispatch => {
  return bindActionCreators({
    fetchTokenSuccess,
    getRequest
  }, dispatch);
};

Мои действия выглядят так, и я чувствую, что это ошибка.

export const getSuccess = (bestResults: []) => {
  return {
    type: 'GET_SUCCESS',
    bestResults
  };
};

export const searchError = (err: any) => {
  return {
    type: 'GET_ERROR',
    err
  };
};

export const getRequest = (accessToken: any) => {
  return dispatch => {
    const request = new Request(url, {
      headers: new Headers({
        'Authorization': 'Bearer ' + accessToken
      })
    });
    fetch(request).then(res => {
      return res.json();
    }).then(res => {
      console.log(res)
      dispatch(getSuccess(res.data.children));
    }).catch(err => {
      dispatch(searchError(err));
    });
  };
};

и мой редуктор выглядитэто:

const initialState = {};
interface Action {
  type: string;
  bestResults: []
}

export const listingReducer = (state = initialState, action: Action) => {

  switch (action.type) {

  case "GET_SUCCESS":
    return {
      ...state,
      bestResults: action.bestResults,
      searchError: false
    };

  case "GET_ERROR":
    return {
      ...state,
      searchError: true
    };

  default:
    return state;
  }  
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...