Javascript 无法读取属性';getHostNode';空的
我有一个带有react路由器的horizon/react应用程序,我的应用程序中有一个简单的按钮:Javascript 无法读取属性';getHostNode';空的,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我有一个带有react路由器的horizon/react应用程序,我的应用程序中有一个简单的按钮: <Link className="dark button" to="/">Another Search</Link> 错误来自: getHostNode: function (internalInstance) { return internalInstance.getHostNode(); }, 知道我为什么会这样吗?我也面临着类似的问题。事实证明,在我的例子
<Link className="dark button" to="/">Another Search</Link>
错误来自:
getHostNode: function (internalInstance) {
return internalInstance.getHostNode();
},
知道我为什么会这样吗?我也面临着类似的问题。事实证明,在我的例子中,是highlighthjs从生成的dom中删除注释 对于文本,React 15使用React ID而不是span标记添加注释,如下所示:
<!-- react-text: 248-->
Another Search
<!--/react-test-->
另一次搜索
你能试试这样的吗
另一次搜索
这将强制生成的DOM使用正确的data-reactid
属性包含span
我会向react router提交一个问题,也许他们可以在内部这样做,这样你就不必为此烦恼了。但这也有挑战,因为链接子元素基本上可以是任何东西。我也遇到过类似的问题 我试图从node_模块手动更新一些插件,当我将其还原回来时,出现了这个错误
我通过删除node_模块并运行NPM install解决了这个问题。在过去几天中,我多次遇到这个问题(react的新功能),并且在几乎所有情况下,都出现了一些语法/代码错误,在其他任何地方都没有发现。举个例子:如果你写:
getInitialState() {
showModal: false
},
而不是:
getInitialState() {
return {
showModal: false
};
},
您将得到这个错误。除非您的构建过程尚未捕获错误。希望这对某人(或我自己)有帮助。
你好,尼亚兹,不客气!
)。对我来说,这是一个输入错误,导致从错误的模块导入组件
import { Link, Icon } from 'react-router';
import { Tag } from 'antd';
应该是
import { Link } from 'react-router';
import { Tag, Icon } from 'antd';
非常有趣:)对我来说,原来我在子组件中错误地使用了道具。可能对某人有帮助
function Parent(){
const styleEle = { width: '100px'};
return (<div>
<Child styleO={styleEle}/>
</div>);
}
function Parent(props){
// here i was directly using <div style={styleO}> causing issue for me
return (<div style={props.styleO}>
{'Something'}
</div>)
}
函数父函数(){
常量styleEle={width:'100px'};
返回(
);
}
函数父级(道具){
//在这里,我直接使用引起问题的方法
返回(
{'Something'}
)
}
我必须重新启动我的nodemon后端。如果您得到类似于“getHostNode”的null错误,那么这是一个与以前编写的旧代码相关的错误,它与react的版本更新一起出现
我们有两种方法来解决同样的问题
1) 首先,我们必须从项目中卸载react,然后再次使用指定的版本(旧版本15.4.2)安装react。react的当前版本是15.6.1
2) 第二种方法有点费时,但对于应用程序的未来来说,它是好的,使用正确的方法检查旧代码并处理错误(承诺的错误处理)。下面是几个链接,它们可以帮助您找出背后的原因
如果您使用Chrome浏览器,我的解决方案就是删除缓存的图像、文件和cookie。设置->隐私和安全->清除浏览数据->缓存的图像和文件/cookie和其他站点数据
如果其他人发现此线程。对我来说,这是一个零错误的道具 代码生成错误:
<Menu InventoryCount={this.state.inventoryModel.length} />
工作空检查代码:
<Menu InventoryCount={this.state.inventoryModel ? this.state.inventoryModel.length : 0} />
我试图错误地呈现
未定义的值时出错
render(){
let name = this.getName(); // this returns `undefined`
return <div>name: {name}</div>
}
render(){
让name=this.getName();//返回'undefined'`
返回名称:{name}
}
修复将回退到null(其中为接受值)
render(){
让name=this.getName();//返回'undefined'`
返回名称:{name | | null}
}
在我的例子中,React不在文件的范围内
如果您从另一个没有导入react的文件导入一个包含jsx的变量
import React from "react";
使用以下eslint插件可以避免这种情况:react in jsx scope
来源:在我的例子中,缺少导入。检查你的进口 您在组件中做了什么特别的事情吗?我无法用最新的路由器复制它。他们似乎在保留这些评论。检查此代码笔:如果“卸载”不起作用,请尝试从node_模块中删除“react”和“react dom”文件夹并运行“npm install”。它还可能表现为“未处理的拒绝(不变冲突):试图更新已卸载(或未能装载)的组件xxx
。”提示:您也可以使用
render(){
let name = this.getName(); // this returns `undefined`
return <div>name: {name || null}</div>
}
import React from "react";