Connecting to the Page
Learn about writing the venue component in this lesson!
We'll cover the following...
The Venue component
Like when we combine Seat components into a Row, we also need to combine Row components into a Venue. Our Venue component is similar to Row:
import * as React from "react"import Row from "components/row"interface VenueProps {rows: numberseatsPerRow: number}const Venue = (props: VenueProps): React.ReactElement => {const rowNumbers = Array.from(Array(props.seatsPerRow).keys())const rowItems = rowNumbers.map((rowNumber) => {return (<Rowkey={rowNumber}rowNumber={rowNumber}seatsPerRow={props.seatsPerRow}/>)})return (<table className="table"><tbody>{rowItems}</tbody></table>)}export default Venue
There’s a minor difference in that the Venue returns an HTML table and that the props type is a little different, but the structure is similar: we still use map to convert a list of row numbers to a list of row items.
We cheat herein that the list of row numbers is hard-coded. This is because we haven’t looked at ways to get the information about how many rows are in a venue from Rails to React. We’ll talk more about that in ...
Ask