Reactjs 找不到“;商店「;在显示模态时,在上下文或道具中

Reactjs 找不到“;商店「;在显示模态时,在上下文或道具中,reactjs,react-native,redux,react-redux,Reactjs,React Native,Redux,React Redux,这是我应用程序的起点: const App = () => ( <Provider store={store}> <StackNav /> </Provider> ); AppRegistry.registerComponent('MyApp', () => App); 在登录屏幕内,我显示了一个模式,在该模式内,我无法使用react-redux的连接方法。这是全部错误: 以下是我尝试使用它的方式: class

这是我应用程序的起点:

const App = () => (
    <Provider store={store}>
        <StackNav />
    </Provider>
);

AppRegistry.registerComponent('MyApp', () => App);
在登录屏幕内,我显示了一个模式,在该模式内,我无法使用react-redux的连接方法。这是全部错误:

以下是我尝试使用它的方式:

class SignModal extends Component {

}

export default connect()(SignModal);
原因可能是什么?提前谢谢你

你试过了吗

export const mapStateToProps = (state) => {
  return {
    //what you want from the store
  }
} 
然后

export default connect(mapStateToProps)(SignModal);
你试过了吗

export const mapStateToProps = (state) => {
  return {
    //what you want from the store
  }
} 
然后

export default connect(mapStateToProps)(SignModal);

模态将存在于当前组件层次结构之外。该模式称为
门户
。这意味着它无法访问React上下文,因此无法找到Redux存储。目前,React Native中没有用于修复此问题的API。您需要以道具的形式显式传递存储


最好只连接具有模态的组件,并将所需的值作为道具传递给内部组件。

模态将存在于当前组件层次结构之外。该模式称为
门户
。这意味着它无法访问React上下文,因此无法找到Redux存储。目前,React Native中没有用于修复此问题的API。您需要以道具的形式显式传递存储

// components/Modal.js

class Modal extends Component {
    render() {
        <Modal />
    }
}

export default Modal

最好只连接具有模态的组件,并将所需的值作为道具传递给内部组件。

这是可能的。将模态用作视图组件并创建连接的容器组件

// components/Modal.js

class Modal extends Component {
    render() {
        <Modal />
    }
}

export default Modal

使用时从“./containers/ModalContainer”导入模态。这是可能的。将模态用作视图组件并创建连接的容器组件

// components/Modal.js

class Modal extends Component {
    render() {
        <Modal />
    }
}

export default Modal

使用时从“./containers/ModalContainer”导入模式。

您有权访问商店内部登录屏幕吗?如果您想将其作为道具传递,我甚至可以在SignModal中访问它。我需要connect()方法工作的原因是,当存储中发生更改时,组件重新加载程序本身就是我在本例中需要的(控制预加载程序)。您是否可以访问LoginScreen中的存储?如果您想将其作为道具传递,我甚至可以在SignModal中访问它。我需要connect()方法工作的原因是,当存储中发生更改时,组件重新加载程序本身就是我在本例中需要的(控制预加载程序)。