Tôi không thể tìm ra cách truyền đạo cụ cho thành phần. Điều này quan trọng vì tôi không muốn tìm nạp dữ liệu trong phương thức componentDidMount vì nó sẽ không nhìn thấy được với các công cụ tìm kiếm.Với getComponent làm thế nào để vượt qua đạo cụ?
Mã của tôi trông như thế này
const router =
<Route path="/" component={App}>
<IndexRoute onEnter={redirectToLogin} component={LandingPage} />
<Route path="panel" component={ ControlPanel }>
...
</Route>
<Route
path="/:handle"
onEnter={maybeRedirectToHome}
getComponent={(location, callback)=> {
getSiteHandleByName(location.pathname.slice(1))
.then(function(handle){
if (handle){
callback(null, Portfolio)
} else {
callback(null, NotFound)
}
})
.catch(callback)
}}
getChildRoutes={(location, callback)=> {
callback(null, portfolioRoutes)
}}
/>
</Route>
Tôi đang cố gắng để phục vụ lập một danh mục đầu tư React App khi người dùng truy cập một địa chỉ hợp lệ như mysite.com/thishandleisvalid
nhưng tôi sẽ cũng cần phải lấy tất cả các nội dung cho ứng dụng đó tại số getComponent
và chuyển nó làm tài sản. Ví dụ. bạn có thể làm một cái gì đó như thế này <Portfolio contentItems={fetchedItems} />
.
Làm điều này có thể không?
Điều này thật tuyệt vời. Và cảm ơn bạn đã biết thông tin về việc sử dụng móc onEnter và một cửa hàng thông lượng. Đó vẫn là một khu vực tôi thấy khó hiểu và cần phải tìm hiểu. – Ally
Điều này phù hợp với tôi vì tôi đang cố gắng chỉ chuyển các hành động đến một thành phần trên cơ sở mỗi tuyến mà không gây ô nhiễm đạo cụ trên ứng dụng, nói rằng nếu tôi sử dụng các hành động 'React.cloneElement (this.props.children, {' ': fooActions})' tại gốc ứng dụng. – mpoplin