【发布时间】:2017-03-23 22:01:47
【问题描述】:
对于“请在我的代码中找到错误”问题表示歉意,但我正在努力尝试掌握 React。
我正在尝试将名为 hashRoute 的变量传递给 react 中的组件,但每当我尝试在组件渲染方法中使用 this.props.route 访问道具时,都会收到浏览器警告:
“警告:标签上的未知道具
route。从 元素。
我的组件:
var App = React.createClass({
render: function(){
var Child;
switch(this.props.route)
{
case 'about':
Child = about;
break;
default:
Child = Home;
break;
}
return (
<div>
<Child/>
</div>
);
}
});
调用函数:
function render(){
var hashRoute = window.location.hash.substr(1);
ReactDOM.render(<app route = {hashRoute} />, document.getElementById('app'));
}
window.addEventListener('hashChange', render);
我显然做错了什么,但我不完全确定是什么。我也尝试过使用扩展语法(将<app route = {hashRoute} /> 替换为<app {...hashRoute} />,但随后我收到另一个浏览器警告,告诉我React.__spread is deprecated and should not be used.
任何想法将不胜感激。
【问题讨论】:
标签: javascript reactjs