首页 > 解决方案 > React Js Redux 与 .net core 2.1 框架错误

问题描述

开始学习 React Js Redux。但面临以下错误。跟着下面的视频

https://www.youtube.com/watch?v=kXO97nDl5IA&t=915s

The above error occurred in the <Dialog> component:
    in Dialog (at DeptList.js:100)
    in div (at DeptList.js:87)
    in DeptList (created by Connect(DeptList))
    in Connect(DeptList) (created by Route)
    in Route (at App.js:14)
    in div (created by Col)
    in Col (at Layout.js:14)
    in div (created by Row)
    in Row (at Layout.js:10)
    in div (created by Grid)
    in Grid (at Layout.js:9)
    in Unknown (at App.js:10)
    in Unknown (at src/index.js:26)
    in Router (created by ConnectedRouter)
    in ConnectedRouter (at src/index.js:25)
    in Provider (at src/index.js:24)

考虑向树中添加错误边界以自​​定义错误处理行为。. index.js:2177 未捕获的错误:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。如果我在代码下面评论,它正在工作

  <Dialog visible={this.state.displayDialog} style={{ 'width': '380px' }}
                header="Dept Details" modal={true}
                footer={dialogFooter}
                onHide={() => this.setState({ displayDialog: false })}>
                {
                    this.state.dept &&
                    <div className="p-grid p-fluid">
                        <div>
                            <label htmlFor="DName">Name</label>
                        </div>
                        <div>
                            <InputText id="DName" onChange={(e) => { this.updateProperty('DName', e.target.value) }}
                                value={this.state.dept.DName} />



                        </div>
                        <div style={{ paddingTop: '10px' }}>
                            <label htmlFor="Location">Location</label>
                        </div>

                        <div>
                            <InputText id="Location" onChange={(e) => { this.updateProperty('Location', e.target.value) }}
                                value={this.state.dept.Location} />



                        </div>

                    </div>


                }
            </Dialog>

标签: reactjsasp.net-coreredux

解决方案


正如错误所说,您在那里用作<Component>(JSX)的组件之一实际上是undefined. 它还会继续告诉您行号,但您没有添加,所以我不知道发生在哪里。就像错误所说的那样,undefined通过给定的行号识别组件,并检查您是否正确导入它并从另一个文件正确导出它。如果您需要帮助,请将您的导入和导出添加到此问题。

通常,您正在观看的教程使用的是相当古老的 React、Redux 以及 react-redux。现在你只会使用connect类组件,而在现代 React 代码中你几乎不会编写任何类组件。另外,你不应该手写“plain redux”,而应该使用官方的 Redux Toolkit。

我不能告诉你更现代的 React 教程,但对于 Redux,你可能想要遵循官方的“Redux Essentials”教程

此外,除了可能的初始设置之外,实际上并没有任何特定于“将 React/Redux 与任何服务器端框架一起使用”的内容(除非会有特定的绑定,这里似乎不是这种情况)。因此,您不仅限于“.net 核心教程”。


推荐阅读