javascript - 错误:缩小的 React 错误 #130:元素类型无效:预期为字符串或类/函数,但得到:未定义
问题描述
我正在 reactJS 中构建一个应用程序,我只在 PRODUCTION 构建时遇到问题(在开发中一切都很好)
我发现了问题但无法解决,我有一个名为“仪表板”的类和一个子组件,子组件中的另一个子组件使应用程序引发错误 130。
错误:缩小的 React 错误 #130;访问https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]=获取完整消息,或使用非缩小开发环境获取完整错误和其他有用的警告。
这是我的代码:
export class Dashboard extends React.Component {
loginTextBox = () => {
return (<div> Hello World</div>)
}
connectionPannel = () => {
return(<div>
<this.loginTextBox></this.loginTextBox> /* IF I COMMENT THIS, IT WORKS */
</div>)
}
render() {
return(<div className="h-100">
<this.connectionPannel></this.connectionPannel>
</div>);
}
}
部署我使用: yarn build 然后我使用 serve -s build 或专用服务器
解决方案
据我所知,这实际上是一个 babel 编译错误。我建议要么内联 JSX,要么将这些位提取到实际的功能组件中:
// inline the JSX
export class Dashboard extends React.Component {
render() {
return (
<div className="h-100">
<div>
<div>Hello World</div>
</div>
</div>
);
}
}
// extract to components
export class Dashboard extends React.Component {
render() {
return(<div className="h-100">
<ConnectionPannel />
</div>);
}
}
function ConnectionPannel() {
return (
<div>
<LoginTextBox />
</div>
)
}
function LoginTextBox() {
return <div>Hello World</div>
}
在这种情况下,您还需要将事物作为道具传递。这可以说是更惯用的 React。
您也可以调用此答案中共享的函数,但这种方法实际上并没有任何好处。
推荐阅读
- javascript - 在 Gatsby JS 中使用外部脚本(在 JavaScript 中)
- arrays - 循环遍历数组并一次显示单个项目,动态持续时间,如 react js 中的 setTimeout 或 SetInterval
- angular - 我想把一个角度量规图表放在一个角度。但是有一个错误。有解决办法吗?
- reactjs - 如何在 useEffect 中使用新状态,但仅在卸载时执行清理
- javascript - 下面的代码将向控制台输出什么,为什么?
- r - 了解 scale_gradient 缩放
- sql - SQL 日期问题 - 统计过去 6 个中至少 2 个月内至少下过 1 个订单的用户
- git - 为什么git会自动忽略我项目中名为“security”的包?
- openssl - 如何在 iOS 应用程序可以接受的 wso2 身份服务器中配置自签名证书
- javascript - 如何在 html textarea 中创建“阅读更多”?我的 .js 文件中已经有 javascript 函数,成功地在 jqgrid 中调用“查看更多”