当前位置: 首页 > 知识库问答 >
问题:

javascript - 如下方式定义React组件有什么好处呢?

向杜吟
2023-05-10

我看到一个react组件的ts文件内容如下:

import services from '@/services/demo';
...
const { addUser, queryUserList, deleteUser, modifyUser } =
  services.UserController;

/**
 * 添加节点
 * @param fields
 */
const handleAdd = async (fields: API.UserInfo) => {
  const hide = message.loading('正在添加');
  ...
};

/**
 * 更新节点
 * @param fields
 */
const handleUpdate = async (fields: FormValueType) => {
  const hide = message.loading('正在配置');
  ...
  } catch (error) {
    hide();
    message.error('配置失败请重试!');
    return false;
  }
};

/**
 *  删除节点
 * @param selectedRows
 */
const handleRemove = async (selectedRows: API.UserInfo[]) => {
  ...
  } catch (error) {
    hide();
    message.error('删除失败,请重试');
    return false;
  }
};

const TableList: React.FC<unknown> = () => {
  const [createModalVisible, handleModalVisible] = useState<boolean>(false);

  return (
    <PageContainer
      ...
    </PageContainer>
  );
};

export default TableList;

我有2个问题想要请教一下:
1、在此文件中:这里把添加节点、更新节点、删除节点三个方法放在组件TableList定义 之外的,是否可以放在组件内部呢?放在组件定义之外有什么好处呢?

2、我们看到定义组件是这样定义:

const TableList: React.FC<unknown> = () => {...}

<unknown> 在这里有什么用呢?它的作用是什么?如果不加会出现什么问题?

共有1个答案

荀豪
2023-05-10

第一个问题缺少相关上下文无法作答
第二问题:
这里的unknown是一种“偷懒”的写法,因为TaleList没有接收任何的props所以可以这么写,unknownTS的一种类型

 类似资料:
  • 本文向大家介绍create-react-app有什么好处?相关面试题,主要包含被问及create-react-app有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 The real tough part of react is webpack, by create-react-app we can just use the React out of the box. And it's re

  • 问题内容: 我是Java开发人员,我想知道如何在Java程序中使用Scala? 问题答案: 去阅读 Daniel Spiewak 关于Scala 的优秀博客系列。使用Scala,您可以保持: 您所有的Java库 在JVM上运行的所有优势(普遍性,管理工具,性能分析,垃圾回收等) 但是您可以编写Scala代码: 比Java更简洁明了(尤其是使用更多的 功能 样式,例如在collections库中)

  • 问题内容: 最近,我遇到了AngularJS Strict DI模式。使用它的目的和好处是什么?通过特别在移动设备上使用它,我们是否可以显着提高性能? 我尝试将其应用于代码,编写代码时未做任何注释。但是,我要压缩代码,并在构建过程中进行ng- annotate。但是,为什么在将严格的DI模式添加到代码中后,仍然出现错误消息“需要显式注释”? 问题答案: 严格的DI模式基本上在运行时发现不符合最小化

  • 本文向大家介绍python 什么是lambda表达式?它有什么好处?相关面试题,主要包含被问及python 什么是lambda表达式?它有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 简单来说,lambda表达式通常是当你需要使用一个函数,但是又不想费脑命名一个函数的时候使用,也就是通常所说的匿名函数

  • 本文向大家介绍React的严格模式有什么用处?相关面试题,主要包含被问及React的严格模式有什么用处?时的应答技巧和注意事项,需要的朋友参考一下 react的strictMode 是一个突出显示应用程序中潜在问题的工具,与Fragment一样,strictMode 不会渲染任何的可见UI,它为其后代元素触发额外的检查和警告。 注意:严格模式仅在开发模式下运行,它们不会影响生产构建 可以为程序的任

  • 问题内容: 使用FAST_FORWARD定义游标的好处是什么?它对性能更好吗?为什么? 问题答案: MSDN的定义是: 指定 启用了性能优化 的FORWARD_ONLY,READ_ONLY游标。如果还指定了SCROLL或FOR_UPDATE,则不能指定FAST_FORWARD。FAST_FORWARD和FORWARD_ONLY是互斥的;如果指定了一个,则不能指定另一个。 我加粗了关键点。它可以支持