我试图找出是否可以从方法中获取React组件级别之外的上下文。作为一个例子,我有一个模态,在激活模态和停用时,我想将提供者状态更改为某个值。
我真的不需要在render方法中访问该状态,而是希望通过传入上下文来改变两种方法中的上下文。有没有办法用上下文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>
);
}
}