You can do like this.
return (
{this.state.quizzes.map((item) => (
<List>
<ListItem button key={`${this.topic}-${item.quiz_title}`}>
<div className="rating" onClick={(e) => e.stopPropagation()}>
<Rating
name="hover-feedback"
value={this.state.value}
precision={1}
max={3}
onChange={(e, newValue) => {
this.setValue(newValue)
}}
onChangeActive={(e, newHover) => {
this.setHover(newHover)
}}
/>
{this.state.value !== null && (
<Box ml={2}>
{
this.labels[
this.state.hover !== -1 ? this.state.hover : this.state.value
]
}
</Box>
)}
</div>
</ListItem>
</List>
))}
)
Just out of curiosity I've taken a look at what happens under the hood, and I've used [dtruss/strace][1] on each test.
C++
./a.out < in
Saw 6512403 lines in 8 seconds. Crunch speed: 814050
syscalls `sudo dtruss -c ./a.out < in`
CALL COUNT
__mac_syscall 1
<snip>
open 6
pread 8
mprotect 17
mmap 22
stat64 30
read_nocancel 25958
Python
./a.py < in
Read 6512402 lines in 1 seconds. LPS: 6512402
syscalls `sudo dtruss -c ./a.py < in`
CALL COUNT
__mac_syscall 1
<snip>
open 5
pread 8
mprotect 17
mmap 21
stat64 29
[1]: http://en.wikipedia.org/wiki/Strace