React Native Error: история свойства не существует

Я создаю модуль входа в систему с помощью mongodb, выражаю и реагирую, но при создании этого я столкнулся с ошибкой истории свойств, которая не существует:

Property 'history' does not exist on type 'Readonly & Readonly<{ children?: ReactNode; }>'.ts(2339)

import React, { Component } from 'react'
import { login } from './userfunctions'

interface userprops{}
interface data{
    email:string;
    password:string;
    errors: string;
}

// основной класс:

class Login extends Component<userprops, data> {
  constructor(props: userprops) {
    super(props)
    this.state = {
      email: '',
      password:'',
      errors: ''
    }
this.onChange = this.onChange.bind(this) //binding the function
this.onSubmit = this.onSubmit.bind(this)  //binding the function
  }
  onChange(e:any) {  //on change function
    this.setState({ email: e.target.value })
  }
  onSubmit(e:any) {   //on submitting the form in render function this function will fire
e.preventDefault()
const user = {
email: this.state.email,
      password: this.state.password
    }


    login(user).then(res => { //I had created login function in another component
      if (res) {
         this.props.history.push(`/profile`)  //this line is giving error
      }
    })

  }
render() {
   //rendering data
}

export default Login

сообщение об ошибке :

Property 'history' does not exist on type 'Readonly & Readonly<{ children?: ReactNode; }>'.ts(2339)

Я пробовал много вещей, но эта ошибка не исчезает

это должно работать

В вашем history интерфейсе нет userprops.

tkausl 09.07.2019 13:34

Большое спасибо. Моя проблема была решена путем добавления интерфейса userprops{history:any}

Warlord 09.07.2019 14:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
1 899
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

я думаю, вы используете реактивный маршрутизатор

если это так, вы можете расширить свой интерфейс точным типом, какой маршрутизатор передаст вашему компоненту

import { RouteComponentProps } from 'react-router-dom';

interface userprops extends RouteComponentProps {}

Другие вопросы по теме