是否可以在没有useState的情况下制作功能组件?

Is it possible make function component without useState?

我在组件中的所有变量都取决于参数中传递的变量。

我为什么要为所有这些创建状态?我会用 let 创建变量,例如:

  let isTiketAdmin: string | null = null;
  let jwt: string | null = null;
  let organizationId: string | undefined = undefined;
  let organization: OrganizationOut | undefined = undefined;

并在方法中加载值:

const load = () => {
    isTiketAdmin = localStorage.getItem("isTiketAdmin");
    jwt = localStorage.getItem("jwt");
    userFbId = localStorage.getItem("userFbId");
    const organizationList = JSON.parse(
      localStorage.getItem("organizationList") ?? "[]"
    );
    organizationId = getOrganizationFbIdFromEventId(eventId);
    let organization: OrganizationOut | undefined;
    if (organizationId) {
      organization = organizationList[organizationId];
      let event = organization!.events[props.eventId];

当需要 saved/changed 时,调用 load()

但是渲染将如何工作?您有什么好的建议可以在不调用 setState 的情况下重新渲染吗?

您可以强制重新渲染:

  1. Class 分量: https://reactjs.org/docs/react-component.html#forceupdate
  2. 挂钩:(挂钩解决方案需要一个状态,但可以提取到单独的自定义挂钩)