标签: react-admin

反应管理:类型错误:(0,n.default)不是一个函数

从使用 next.js 切换到更简单的 Parcel/webpack 构建后,我已经尝试解决这个特定错误一个多星期了,但没有成功。

我不知道如何解决这个问题,所以我希望这里有人可以提供帮助。

完整错误:

TypeError: (0 , n.default) is not a function
    at admin.js:47
    at admin.js:23
    at Object.next (admin.js:4)
    at p (redux-saga-core.esm.js:1157)
    at yn (redux-saga-core.esm.js:1108)
    at redux-saga-core.esm.js:585
    at d (redux-saga-core.esm.js:56)
    at Y (redux-saga-core.esm.js:584)
    at redux-saga-core.esm.js:1204
    at h (redux-saga-core.esm.js:1271)
m @ io-6de156f3.js:111
Run Code Online (Sandbox Code Playgroud)

经过一段时间的研究后,我发现这个错误发生在 admin.ts 文件中的这一行:

https://github.com/marmelab/react-admin/blob/master/packages/ra-core/src/sideEffect/admin.ts#L29

现在真正奇怪的是,它似乎是从该./error导入导入 html,而不是实际的 JS 模块。

在此输入图像描述

但这个错误应该是一些 redux-saga 内容的生成器。

切换到 Parcel 后,完全被这个错误难住了。我认为包裹和反应管理之间可能存在一些奇怪的不兼容性。所以我把 Parcel 换成了更典型的 webpack 构建...但是错误仍然存​​在。所以这可能与构建工具无关。

现在让事情变得更加复杂。如果我手动进入并从反应管理代码中取出该错误导入和函数调用。

出现了一个新错误,'o' is not a function所以在我看来,有些事情严重搞砸了。

我根本没有改变react-admin的版本或实现。

这是使用“react-admin”:“^2.9.8”,

任何对此的帮助将不胜感激!

react-admin

5
推荐指数
0
解决办法
1347
查看次数

反应管理中的多部分表单数据

我正在尝试使用react-admin 将数据发送到我的自定义API。我想发送文件,我可以看到有,我想将该数据作为多部分表单数据发送。我遇到过base64编码帮助页面,作为一个新手反应,我很难弄清楚我需要做什么才能将其转换为多部分表单数据。

如果有人可以引导我完成使其工作的代码,那就太好了!我是来学习的。

预先非常感谢。

react-admin

5
推荐指数
1
解决办法
2879
查看次数

react-admin:隔离中的 SimpleForm

作为 Storybook 的忠实粉丝,我喜欢在隔离中测试我的组件。

特别是表格。

然而,我很难弄清楚如何让我的表单甚至单个表单字段单独工作。(没有编辑、创建、资源和管理包装所有内容)。

我基本上想要的只是渲染一个带有单个输入的 SimpleForm 组件,以对每个输入进行原型设计。(我使用自定义输入,因为我不喜欢 Material-ui)

我的输入是用 addField 装饰的,ra-core就像这个 textInput 示例:

import React from 'react';
import { addField } from 'react-admin';
import sanitizeRestProps from './sanitizeRestProps';
import { Input } from 'antd';
import Labeled from './Labeled';

const TextInput = ({ id, label, labelPosition, input, isRequired, ...rest }) => (
    <Labeled label={label} position={labelPosition} id={id} isRequired={isRequired}>
        <Input id={id} {...input} {...sanitizeRestProps(rest)} />
    </Labeled>
);

export default addField(TextInput);
Run Code Online (Sandbox Code Playgroud)

如果我尝试单独渲染此输入,则会收到错误“字段必须位于用 reduxForm() 装饰的组件内”

这是公平的...我想测试它在组件中构建时是否“有效”,所以我添加了一个 SimpleForm 包装器。

就像这样:

return (
        <SimpleForm>
            <TextInput label={label} …
Run Code Online (Sandbox Code Playgroud)

react-admin

5
推荐指数
1
解决办法
2140
查看次数

如果没有字段/列名称,如何使用react-admin的ChipField?

我有一个CheckboxGroupInput这样的字段:

   <CheckboxGroupInput source="fruits" choices={[
        { 'name': 'apples' },
        { 'name': 'pears' }
    ]} optionValue='name'/>
Run Code Online (Sandbox Code Playgroud)

fruits当用户选择这两个选项时,它会为字段生成如下所示的 json :

  'fruits': ['apples','pears']
Run Code Online (Sandbox Code Playgroud)

我想在Listusing中显示它ChipField,而source我没有,因为 json 是一个纯字符串数组。

如果 json 看起来像这样,源将是“名称”fruits:[{'name':'apples'}, {'name':'pears'}]

           <ArrayField source='fruits'>
                <SingleFieldList>
                    <ChipField source='???' />  
                </SingleFieldList>
            </ArrayField>
Run Code Online (Sandbox Code Playgroud)

如何使用ChipField OR显示纯字符串数组的内容,或者如何告诉CheckboxGroupInput生成对象数组而不是字符串数组?

reactjs material-ui react-final-form react-admin

5
推荐指数
2
解决办法
1569
查看次数

如何在功能组件中渲染数据之前等待 FETCH?

我试图显示一个<Loading>组件,直到数据获取成功,
然后显示一个子组件。我不明白为什么状态不更新......

我该如何处理这个问题?

我正在使用react-admin,但我想这并不重要。
我有一个<Dashboard>应该传递defibs (Array)<DefibsCard>.

当我登录时,defibs<DefibsCard>有一个空数组。谢谢 !

const Dashboard = () => {
  const dataProvider = useDataProvider();
  const [loading, setLoading] = useState(true);
  const [defibs, setDefibs] = useState([]);

  const fetchDefibs = () => {
    dataProvider.getList('defibrillateurs', {
      filters: {}, sort: {field: 'id', order: 'ASC'}, pagination: {page: 1, perPage: 10}
    }).then((response) => {
      setDefibs(response.defibs);
      setLoading(false);
    })
  }

  useEffect(() => {
    fetchDefibs();
    console.log(loading)
  }, [])

  const classes = useStyles(); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-admin

5
推荐指数
1
解决办法
1万
查看次数

在react-admin中编辑多选输入以实现一对多或多对多关系?

当前在react-admin中编辑多对多关系的“开箱即用”方式是什么?

更具体地说,有什么方法可以通过引用的表来 SelectArrayInput 或 AutoCompleteArrayInput 吗?

我的第一个表是stream 流表

我的第二个表是subject 主题表

他们的映射表是stream_subject 映射表

我必须像这个 编辑表单一样显示我的表单

目前,我正在使用引用数组输入,但它不起作用,我当前的代码如下:

<ReferenceManyField label='Subject' reference='stream_subject' target='stream_id'>
    <ReferenceArrayInput label='Subject' reference='subject' source='subject_id'>
        <SelectArrayInput source='name'>
            <ChipField source='name' />
        </SelectArrayInput>
    </ReferenceArrayInput>
</ReferenceManyField>
Run Code Online (Sandbox Code Playgroud)

有没有办法为此创建多选下拉菜单,我什至尝试使用useQueryreact-admin中的钩子,但无法取得任何进展,即使有人可以帮助我,useQuery方法可以解决我的问题。为此,我使用 hasura-graphql datprovider:https://github.com/Steams/ra-data-hasura-graphql

我的 graphql 是这样的: graphql-query

graphql hasura react-admin

5
推荐指数
0
解决办法
1078
查看次数

React Admin:onSuccess 在 &lt;Edit&gt; 组件上无法正常工作

onSuccess功能无法正常工作react-admin

\n

我的代码:

\n
const onSuccess = () => {\n   redirect(\'list\', props.basePath);\n};\n\n\n<Edit \n  onFailure={onFailure}  \n  onSuccess={onSuccess}  \n  title="Ediar Usu\xc3\xa1rio" \n  {...props} \n>\n  <SimpleForm \n     variant="standard" \n     toolbar={<CustomToolbar />} \n  >\n</Edit>\n
Run Code Online (Sandbox Code Playgroud)\n

第一次,它工作得很好,但第二次,什么也没有发生。

\n

甚至不触发保存事件

\n

reactjs react-admin

5
推荐指数
1
解决办法
1839
查看次数

我的空 TextInput 值可以作为空字符串发送到 DataProvider,而不是转换为 null 吗?

<TextInput>在 a 中使用 a <SimpleForm>,当我在运行时清除该值时,react-admin 将属性的值设置为将null值发送到 DataProvider 时的值。我想存储空字符串而不是 null。那可能吗?如果是这样,怎么办?

react-admin

5
推荐指数
1
解决办法
2015
查看次数

新的 &lt;SaveContextProvider&gt;,React-Admin 的弃用消息

自从我将react-admin更新到版本3.10.0后,我在Chrome控制台中看到了这条消息,我试图深入研究该文档,但找不到任何信息或示例。任何人遇到过这个,或者幸运的是react-admin的任何成员看到这个,请帮忙!

Edit or Create child components must be used inside a <SaveContextProvider>. Relying on props rather than context to get persistence related data and callbacks is deprecated and won't be supported in the next major version of react-admin.
Run Code Online (Sandbox Code Playgroud)

react-admin

5
推荐指数
1
解决办法
1124
查看次数

如何为我的 Next.js 应用程序设置管理面板

我正在开发一个 Next.js 应用程序,需要一个管理面板来管理数据、用户和帖子。我认为最好将面板设置为单独的应用程序,而不是当前应用程序中的新路径。

我看过react-admin,但它是常规的React.js。

我看到了这些关于使用单独的 React-admin 应用程序设置 Next.js 的帖子,但我对 nginx 不太了解。

Nginx 反向代理 nextjs 和react-admin

Nginx 服务服务器和静态构建

如果您之前为 Next.js 设置过管理面板,有什么建议吗?

nginx reactjs next.js react-admin

5
推荐指数
0
解决办法
1894
查看次数