Dva: Não há conexão para o componente pai externo, conexão e componentes filho, e não há modelo ou dispath no filho

Criado em 19 jan. 2017  ·  4Comentários  ·  Fonte: dvajs/dva

Minha cena é assim

Eu projetei o router.jsx assim

            <Router history={ history }>

                <Route path="/" getComponents={App}>
                    <IndexRedirect to="projects" />
                    <Route path="projects" getComponents={Projects}></Route>
                    <Route path="dashboard" getComponents={Dashboard}></Route>
                </Route>
                <Route path="*">
                </Route>
            </Router>

App.jsx com o caminho externo = "/" é projetado assim

import React, {PropTypes, Component} from 'react';
import {connect} from 'dva';
import {Link} from 'dva/router';
import Header from 'components/Common/ProjectManagementNav/ProjectManagementNav'

const App = (props) => {
    console.log("props",props);
    return  (
        <div>
            <Header />
            {props.children}
        </div>
    )
}

function mapStateToProps({ management }) {
    return { management };
}

export default connect(mapStateToProps)(App);

Pode-se ver que meu aplicativo componente pai foi conectado

E abaixo do meu subcomponente Projetos (caminho = "projetos") Eu não conecto

import React from 'react';
import {connect} from 'dva';
import ProjectsContent from 'components/projects/projectsContent';
const Projects = (props) => {
    console.log(props);
    return (
        <ProjectsContent/>
    );

};

export default Projects;
  • Isso faz com que os subcomponentes não obtenham o dispath
  • Existe alguma maneira de o componente filho obter a desconexão diretamente do componente conectado do pai sem se conectar?
  • Porque eu acho que depois que o componente pai é renderizado, o componente filho também seguirá a renderização. Contanto que o componente filho possa obter o dispath, ele pode alterar o estado por dispath para acionar a renderização do componente pai.
  • Caso contrário, tenho que me conectar aos arquivos em cada rota?
question

Comentários muito úteis

Difícil de ler, consulte os seguintes documentos para ajustar o formato:

Todos 4 comentários

Difícil de ler, consulte os seguintes documentos para ajustar o formato:

Resolvido

Meu método é usar despacho ou todos os componentes que se referem ao estado do modelo para conectar.Claro, você também pode passar o despacho ou encapsular a ação de despacho em uma função e, em seguida, passar a função.

Meu método é usar despacho ou todos os componentes que se referem ao estado do modelo para conectar.Claro, você também pode passar o despacho ou encapsular a ação de despacho em uma função e, em seguida, passar a função.

Se você conectar todos eles, isso fará com que os subcomponentes não sejam alternados normalmente quando o idioma internacional for alterado, e você deve usar window.location.reload () para atualizar a página inteira. Mas se o componente filho não estiver conectado, ele pode ser alternado normalmente.Existe alguma maneira de não atualizar a página?

Esta página foi útil?
0 / 5 - 0 avaliações