GalleryPhotosVideos.js
class GalleryPhotosVideos extends React.Component {
constructor(props) {
super(props);
this.state = {
data3
};
}
render (){
const childrenWithProps = React.Children.map(this.props.children, child =>
React.cloneElement(child, {
albums: this.state.data3,
})
);
return(
<div style={galleryPhotos}>
{childrenWithProps}
</div>
)
}
}
Content.js
import { Switch, Route} from 'react-router-dom'
<Switch>
<Route exact path="/albums" component={Albums} />
<Route path="/albums/:albumName" component={Album} />
<Route path="/albums/:albumName/:photoId" component={Photo} />
</Switch>
在这种情况下,我想获取相册,而不是得到childrenWithProps:未定义 什么也没出现。在内容的原始版本中,代替了,但是使用BrowserRouter无效,因此我进行了更改,但是它根本没有提供任何内容,或者没有人知道如何更改它吗?
答案 0 :(得分:1)
childrenWithProps
是元素数组。您应该使用
return(
<div style={galleryPhotos}>
{childrenWithProps.map(childrenElement => childrenElement)}
</div>
)
这样您的元素将与道具一一呈现。