【发布时间】:2017-03-25 00:56:04
【问题描述】:
我正在使用 Bootstrap 3,并希望在创建 12 列后清除每个 .row。但是我的代码失败了,我得到了这个错误:
编译失败。 ./src/File/file.js 中的错误 语法错误:Unexpected token, expected , (145:56)
在这一行:{ index % 4 == 0 && <div className="row"> }
const TweetImageList = ({images, removeImage}) => {
return (
<div className="TweetImageList">
<ReactCSSTransitionGroup transitionName="tweetImageTransition"
transitionEnterTimeout={500}
transitionLeaveTimeout={500}>
{
images.map((image, index) => {
let column =
<div key={index} className="col-xs-3 tweet-image-wrapper">
<TweetImage
image={image}
removeImage={removeImage}
/>
</div>;
return column;
})
}
</ReactCSSTransitionGroup>
</div>
);
};
是的,有时需要清除该行,因为它不像 BS 文档所暗示的那样“自我清除”。在这里阅读:https://stackoverflow.com/a/26445839/1736012
!!更新!!
我根据 Yo Wakitas 的建议更新了我的 jsx。浮动现在用行清除。但是过渡不再起作用了...有什么想法吗??????
const TweetImageList = ({images, removeImage}) => {
return (
<div className="TweetImageList">
{
_.chunk(images, 4).map((chunk, i) => {
return (
<div key={i} className="row spacing-bottom">
{
chunk.map((image, j) => {
return (
<div key={j} className="col-xs-3">
<ReactCSSTransitionGroup transitionName="tweetImageTransition"
transitionEnterTimeout={500}
transitionLeaveTimeout={500}>
<TweetImage
image={image}
removeImage={removeImage}/>
</ReactCSSTransitionGroup>
</div>
)
})
}
</div>
)
})
}
</div>
);
};
removeImage()
removeImage(id) {
this.setState({
images: this.state.images.filter(function (img) {
return img.id !== id;
}),
startValue: this.state.startValue + this.numPhotoChars
});
}
【问题讨论】:
-
尝试使用
=== -
你已经走了。 JSX 不是字符串,你需要使用完整的元素并且你只能从 .map 中返回一个元素
-
也可以尝试用另一个组件封闭您的退货。返回 ({ index % ... })
标签: twitter-bootstrap reactjs twitter-bootstrap-3 react-jsx