Предупреждение: findDOMNode не рекомендуется использовать в StrictMode при использовании response- bootstrap Navbar - PullRequest
1 голос
/ 26 марта 2020

Я попытался использовать компонент Navbar в реагирующем bootstrap в шаблоне для машинописного текста, и обнаружил ниже предупреждение в консоли Chrome.

index.js:1 Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of Transition which is inside StrictMode. Instead, add a ref directly to the element you want to reference.
    in div (created by Context.Consumer)
    in Transition (created by Collapse)
    in Collapse (created by Context.Consumer)
    in NavbarCollapse (at NavigationBar.tsx:10)
    in nav (created by Navbar)
    in Navbar (at NavigationBar.tsx:7)
    in NavigationBar (at App.tsx:8)
    in div (at App.tsx:7)
    in App (at src/index.tsx:10)
    in StrictMode (at src/index.tsx:9)

Ниже приведен код

import React from 'react';
import './NavigationBar.css';
import { Navbar, Nav, NavDropdown } from 'react-bootstrap';

function NavigationBar() {
    return (
        <Navbar bg="light" expand="lg">
            <Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
            <Navbar.Toggle aria-controls="basic-navbar-nav" />
            <Navbar.Collapse id="basic-navbar-nav">
                <Nav className="mr-auto">
                    <Nav.Link href="#home">Home</Nav.Link>
                    <Nav.Link href="#link">Link</Nav.Link>
                    <NavDropdown title="Dropdown" id="basic-nav-dropdown">
                        <NavDropdown.Item href="#action/3.1">Action</NavDropdown.Item>
                        <NavDropdown.Item href="#action/3.2">Another action</NavDropdown.Item>
                        <NavDropdown.Item href="#action/3.3">Something</NavDropdown.Item>
                        <NavDropdown.Divider />
                        <NavDropdown.Item href="#action/3.4">Separated link</NavDropdown.Item>
                    </NavDropdown>
                </Nav>
            </Navbar.Collapse>
        </Navbar>);
}

export default NavigationBar;

Даже функция свертывания компонента Navbar работает, что я должен сделать для предупреждения.

1 Ответ

1 голос
/ 26 марта 2020

Видимо, это уже проблема GitHub. здесь

Так как это предупреждение (а не ошибка), следовательно, ваше приложение будет продолжать нормально работать. Facebook в конечном итоге устареет findDOMNode, так как в будущем блокирует некоторые улучшения в React

react-bootstrap в конечном итоге обновит свой код, чтобы отказаться от него, используя findDomNodes для других подходящих альтернатив.

...