首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React:高阶组件: Solid useLDflex()

React:高阶组件: Solid useLDflex()
EN

Stack Overflow用户
提问于 2021-03-04 09:45:42
回答 1查看 39关注 0票数 1

我正在努力处理React中的高阶组件。我正在尝试使用Solidreact-components通过useLDflex()加载用户的个人资料数据。我的代码抛出了一个我无法理解的错误;我不确定问题是与React、高阶组件还是Solid的库有关。有人能帮助我吗?

代码(React/TSX):

代码语言:javascript
复制
import { useLDflex } from '@solid/react';
import React from 'react';

class Profile extends React.Component<{name: string}, {}> {
    render() {
        return (
            <main role="Profile">
                <div className="container">
                    Name: {this.props.name}
                </div>
            </main>
        )
    }
}

interface IProfileId {
    profileId: string;
}

const withName = (Component: any) => ({profileId}: IProfileId) => {
    const webId = `https://${profileId}.solidcommunity.net/profile/card#me`;
    const [name, namePending, nameError] = useLDflex(`[${webId}].name`);
    return <Component name={name} />
}

export const newProfile = withName(Profile);

错误(在线):

代码语言:javascript
复制
Error: Specify at least one term when calling .next() on a path
EN

回答 1

Stack Overflow用户

发布于 2021-03-05 11:08:15

解决了它。问题是当配置文件从固态服务器加载时,name处于未知/未定义状态。下面是工作代码:

代码语言:javascript
复制
import { useLDflexValue } from '@solid/react';
import React from 'react';

class P extends React.Component<{name: string}, {}> {
    render() {
        return (
            <main role="Profile">
                <div className="container">
                    Name: {this.props.name}
                </div>
            </main>
        )
    }
}

const withName = (Component: any) => ({profileId}: {profileId: string}) => {
    const webId = `https://${profileId}.solidcommunity.net/profile/card#me`;
    const name = useLDflexValue(`[${webId}].name`)?.toString() || 'loading...';
    return <Component name={name} />
}

export const Profile = withName(P);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66467419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档