教程在 SaveContext 中引发上下文未定义错误 [英] Tutorial throws context is undefined error in SaveContext

查看:60
本文介绍了教程在 SaveContext 中引发上下文未定义错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能是一个新手问题,但我正在通过 react-admin/Tutorial.html 工作,当涉及到使用 EditGuesser 时,编辑"页面失败,报告类型错误:上下文未定义".AFAIK,我已按照说明进行操作.

在添加创建和编辑功能"部分进行调整以引入edit={EditGuesser}"更改后报告错误.我可以看到教程代码已被编辑,因为 dataProvider 的 const 定义已被删除.是否还删除了其他内容?

如果错误页面已关闭,则底层页面仅显示出现问题.发生客户端错误,无法完成您的请求.'

感谢任何帮助.

错误详情是:

<前>类型错误:上下文未定义使用保存上下文prj_dir/node_modules/ra-core/esm/controller/details/SaveContext.js:23

 20 |*/21 |导出 var useSaveContext = 函数(道具){22 |var context = useContext(SaveContext);>23 |如果 (!context.save || !context.setOnFailure) {24 |/**25 |* 该元素不在 <SaveContextProvider> 中26 |* 为了避免这种情况下的破损,回退到道具

开始于:

<前>保存按钮prj_dir/node_modules/ra-ui-materialui/esm/button/SaveButton.js:75

<代码> 72 |var 通知 = useNotify();73 |var translate = useTranslate();74 |var setOnSave = useContext(FormContext).setOnSave;>75 |var _d = useSaveContext(props), setOnSuccess = _d.setOnSuccess, setOnFailure = _d.setOnFailure, setTransform = _d.setTransform;|^ 76 |var handleClick = 函数(事件){77 |//不推荐使用:使用 onSuccess 和 transform 而不是 onSave78 |if (typeof onSave === '函数') {

解决方案

EditGuesser 在最新的 react-admin 版本 (3.11) 中被破坏.3.11.2 (https://github.com/marmelab/react-admin/pull/5728).同时,请使用3.10.4版本.

This may be a newbie problem, but I'm working though react-admin/Tutorial.html and when it comes to using the EditGuesser the 'Edit' page fails, reporting 'TypeError: context is undefined'. AFAIK, I've followed the instructions.

The error is reported after making the adjustment to introduce the 'edit={EditGuesser}' change in the 'Adding Creation and Editing Capabilities' section. I can see that the tutorial code has been edited, as the const definition of the dataProvider has been removed. Has something else also been removed?

If the error page is closed then the underlying page just states 'Something went wrong. A client error occurred and your request couldn't be completed.'

Any help is gratefully received.

The error details are:

TypeError: context is undefined
useSaveContext
prj_dir/node_modules/ra-core/esm/controller/details/SaveContext.js:23

  20 |  */
  21 | export var useSaveContext = function (props) {
  22 |     var context = useContext(SaveContext);
> 23 |     if (!context.save || !context.setOnFailure) {
  24 |         /**
  25 |          * The element isn't inside a <SaveContextProvider>
  26 |          * To avoid breakage in that case, fallback to props

which is kicked off from:

SaveButton
prj_dir/node_modules/ra-ui-materialui/esm/button/SaveButton.js:75

  72 | var notify = useNotify();
  73 | var translate = useTranslate();
  74 | var setOnSave = useContext(FormContext).setOnSave;
> 75 | var _d = useSaveContext(props), setOnSuccess = _d.setOnSuccess, setOnFailure = _d.setOnFailure, setTransform = _d.setTransform;
     | ^  76 | var handleClick = function (event) {
  77 |     // deprecated: use onSuccess and transform instead of onSave
  78 |     if (typeof onSave === 'function') {

解决方案

The EditGuesser is broken in the latest react-admin version (3.11). A fix is incoming in 3.11.2 (https://github.com/marmelab/react-admin/pull/5728). In the meantime, please use version 3.10.4.

这篇关于教程在 SaveContext 中引发上下文未定义错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆