--- id: 5a24c314108439a4d403616c title: Override Default Props challengeType: 6 forumTopicId: 301399 dashedName: override-default-props --- # --description-- The ability to set default props is a useful feature in React. The way to override the default props is to explicitly set the prop values for a component. # --instructions-- The `ShoppingCart` component now renders a child component `Items`. This `Items` component has a default prop `quantity` set to the integer `0`. Override the default prop by passing in a value of `10` for `quantity`. **Note:** Remember that the syntax to add a prop to a component looks similar to how you add HTML attributes. However, since the value for `quantity` is an integer, it won't go in quotes but it should be wrapped in curly braces. For example, `{100}`. This syntax tells JSX to interpret the value within the braces directly as JavaScript. # --hints-- The component `ShoppingCart` should render. ```js assert( (function () { const mockedComponent = Enzyme.mount(React.createElement(ShoppingCart)); return mockedComponent.find('ShoppingCart').length === 1; })() ); ``` The component `Items` should render. ```js assert( (function () { const mockedComponent = Enzyme.mount(React.createElement(ShoppingCart)); return mockedComponent.find('Items').length === 1; })() ); ``` The `Items` component should have a prop of `{ quantity: 10 }` passed from the `ShoppingCart` component. ```js (getUserInput) => assert( (function () { const mockedComponent = Enzyme.mount(React.createElement(ShoppingCart)); return ( mockedComponent.find('Items').props().quantity == 10 && getUserInput('index') .replace(/ /g, '') .includes('') ); })() ); ``` # --seed-- ## --after-user-code-- ```jsx ReactDOM.render(, document.getElementById('root')) ``` ## --seed-contents-- ```jsx const Items = (props) => { return

Current Quantity of Items in Cart: {props.quantity}

} Items.defaultProps = { quantity: 0 } class ShoppingCart extends React.Component { constructor(props) { super(props); } render() { { /* Change code below this line */ } return { /* Change code above this line */ } } }; ``` # --solutions-- ```jsx const Items = (props) => { return

Current Quantity of Items in Cart: {props.quantity}

} Items.defaultProps = { quantity: 0 } class ShoppingCart extends React.Component { constructor(props) { super(props); } render() { { /* Change code below this line */ } return { /* Change code above this line */ } } }; ```