Dva: No hay conexión para el componente principal más externo, los componentes de conexión y los componentes secundarios, y no hay modelo o disparidad en el elemento secundario.

Creado en 19 ene. 2017  ·  4Comentarios  ·  Fuente: dvajs/dva

Mi escena es asi

Diseñé router.jsx así

            <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 con la ruta más externa = "/" está diseñado así

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);

Se puede ver que la aplicación de mi componente principal se ha conectado

Y debajo de mi subcomponente Proyectos (ruta = "proyectos") no me 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;
  • Esto hace que los subcomponentes no obtengan el dispath
  • ¿Hay alguna forma de que el componente secundario se desconecte directamente del componente conectado del padre sin conectarse?
  • Porque creo que después de renderizar el componente padre, el componente hijo también seguirá al render. Siempre que el componente hijo pueda obtener la dispath, puede cambiar el estado por dispath para activar la renderización del componente padre.
  • De lo contrario, ¿tengo que conectarme a los archivos de cada ruta?
question

Comentario más útil

Difícil de leer, consulte los siguientes documentos para ajustar el formato:

Todos 4 comentarios

Difícil de leer, consulte los siguientes documentos para ajustar el formato:

Resuelto

Mi método es usar el despacho o todos los componentes que se refieren al estado del modelo para conectar. Por supuesto, también puede pasar el despacho o encapsular la acción despacho en una función y luego pasar la función.

Mi método es usar el despacho o todos los componentes que se refieren al estado del modelo para conectar. Por supuesto, también puede pasar el despacho o encapsular la acción despacho en una función y luego pasar la función.

Si los conecta todos, hará que los subcomponentes no cambien normalmente cuando se cambie el idioma internacional, y debe usar window.location.reload () para actualizar toda la página. Pero si el componente secundario no está conectado, se puede cambiar normalmente.¿Hay alguna forma de no actualizar la página?

¿Fue útil esta página
0 / 5 - 0 calificaciones