Рад, что это помогло вам :)

я пытаюсь подключить компонент без экспорта напрямую, он не может подключиться.

Пример:

connect(mapstatetoprops, mapdispatchtoprops)(Componentx);
export default Componentx;

Почему это должно иметь значение?

Ответы на вопрос(1)

Решение Вопроса

connect ничего не делает с исходным компонентом, скорее это реализацияКомпонент высокого порядка шаблон: таким образом, он принимает компонент React в качестве аргумента и возвращает другой компонент, выполняя действия, которые ему нужно сделать, например, предоставляя создателей действий и состояние в качестве подпорок.

Поэтому, когда вы возвращаете компонент, возвращенный диспетчером, вы фактически возвращаете правильный компонент. Компонент, который вы передаетеconnect не имеетredux state and action creators доступно для него.

Таким образом, вы можете думать о подключении, чтобы быть написано что-то вроде

const connect = (mapStateToProps, mapDispatchToProps) => {
    return (WrappedComponent) => {
         return class App extends React.Component {
               {/* some lifecycle optimizations here */}
               render() {

                    return (
                          <WrappedComponent {...this.props} {...mapStateToProps()} {...mapDispatchToProps()} />
                     )
               }

         }
    }

}
 Steve Tomlin02 окт. 2017 г., 14:12
Brilliant. Это прекрасно объясняет.
 Shubham Khatri03 окт. 2017 г., 07:10
Рад, что это помогло вам :)

Ваш ответ на вопрос