javascript - React hoc 禁用字段
问题描述
在反应中,我的应用程序中有一堆表单,并根据用户类型(管理员等)确定输入是否被禁用。我为组件制作了一个单独的文件,必须有更好的方法:
export const Select = props => {
const { isAdmin } = useAppContext();
return <AntdSelect disabled={!isAdmin} {...props} />;
};
export const Input = props => {
const { isAdmin } = useAppContext();
return <AntdInput disabled={!isAdmin} {...props} />;
};
export const Switch = props => {
const { isAdmin } = useAppContext();
return <AntdSwitch disabled={!isAdmin} {...props} />;
};
基本上我从我的上下文变量中提取 isAdmin 但我不想对每个组件都这样做。有什么更好的方法来做到这一点?
解决方案
我不确定我是否理解你的问题,但你可以做这样的事情。
function Example() {
// Declare a new state variable
const { isAdmin } = useAppContext();
return (
<div>
<AntdSelect disabled={!isAdmin} />;
<AntdInput disabled={!isAdmin} />;
<AntdSwitch disabled={!isAdmin} />;
</div>
);
}
推荐阅读
- ssis - 发生 OLE DB 错误。错误代码:0x80040E37 - SSIS
- json - 逻辑应用 - 数据操作解析 JSON 不解析来自事件中心的内容
- sql - SQL 递归计数
- reactjs - 获取多个信息的数据的最佳方式是什么?(Redux,MongoDB)
- html - 嵌套小元素
- c++ - 有没有更快的方法来做这个练习?
- javascript - 如何使用客户端 javascript 向具有特定端口的服务器发送请求?
- git - 如何在 git 中为本地副本设置行尾
- asp.net - 哪些版本的 Windows Server 支持 ASP.NET 2.0?
- json - 谷歌图表 - 不绘图 - JSON 响应