1

我试图找出是否有可能从方法中获取 React 组件级别之外的上下文。作为下面的示例,我有一个模式,在激活模式和停用时,我想将提供者状态更改为某个值。

我真的不需要从渲染方法中访问该状态,而是我想通过传入上下文来从两个方法中更改上下文。有没有办法用上下文 api 处理这个问题?我可以从那里触发提供者操作,而不必将我的模态组件包装在 AppContext 中吗?

import React, { Component } from "react";
import "./Modal.module.css";
import AppContext from "../../context/Context";
class Modal extends Component {
 constructor(props) {
 super(props);
 this.state = {
      modalActive: false
    };
  }
 activateModal = (context) => {
 this.setState({ modalActive: true });
 context.action.changeVal(2);
  };
 deactivateModal = (context) => {
 this.setState({ modalActive: false });
 context.action.changeVal(1);
  };
render() {
return (
       <React.Fragment>
        <button onClick={this.activateModal} className="link">
        click
        </button>
        <ModalContent />
      </React.Fragment>
    );
  }
}
4

0 回答 0