javascript - Vytvorenie a používanie rozhrania pre history-objekt v React TypeScript?


Mám komponent, ktorý ako vlastnosti prijíma objekt histórie. Zatiaľ je typovaný ako any, ale chcel by som ho typovať na vhodný objekt. Ako nastavím a použijem rozhranie pre toto?

Predmet :

Môj kód:

import React, { useState } from 'react';
import { Row, Col } from 'antd';
import Search from 'antd/lib/input/Search';

const MyPatients = (props: any) => {
    console.log(props);
    const handleSearch = (value: any) => {
        console.log(value);
        setPatientID(value);
    };

    const [patientID, setPatientID] = useState();
    return (
        <>
            <div style={{ marginTop: 90 }}></div>
            <Row gutter={[60, 40]} justify={'center'}>
                <Col span={300}>
                    <p>Søk med personnummer for å finne en pasient.</p>
                    <Search
                        style={{ width: 400 }}
                        placeholder="Søk etter en pasient!"
                        onSearch={handleSearch}
                    />
                </Col>
            </Row>
            {patientID &&
                props.history.push({ pathname: 'Pasient', state: patientID })}
        </>
    );
};
export default MyPatients;

Odpoveď č. 1

Ak predpokladáte, že používate tento balík history, môžete nainštalovať príslušné typy spustením npm install --save @types/history vo vašom projekte.

Akonáhle je to hotové, môžete použiť typ History nasledovne:

...
import { History } from 'history';

interface Props {
    history: History;
}

const MyPatients = (props: Props) => {...}