昨天,我正在閱讀有關高階組件的React文檔,並試圖使用它們的一些示例。但是,對我來說,這是行不通的。ReactJS的高階組件錯誤:「未知道具」
這是一個簡單的HOC,我創建的只是包裝另一個組件,看看它是如何工作的。但從一開始,它從來沒有奏效。
import React, { Component } from 'react';
export default function (enhacedComponent) {
class Authenticate extends Component {
constructor(props) {
super(props);
}
render() {
return <enhacedComponent {...this.props} />;
}
}
return Authenticate;
}
它總是返回我這個錯誤:當我在控制檯檢查HTML元素部分
Warning: Unknown props `location`, `params`, `route`, `router`, `routeParams`, `routes` on <enhacedComponent> tag. Remove these props from the element.
,我發現實際值這個HOC的回報是<enhacedComponent></enhacedComponent>
。所以包裝的組件從來沒有出去!
因此,最終,封裝的組件永遠不會返回。只是一個JSX版本的應該是HOC的論點。
我認爲既然JSX只是另一種語法,並通過簡單的JavaScript是使用{}
的獨特方式,我試圖做到這一點,到沒有成功:
<{enhancedComponent} {...this.props }/>
我真的不知道是什麼要做什麼或我做錯了什麼。我正在使用this HOC reference。我正在使用Webpack 2和webpack-dev-server作爲Windows 10上的工具。