freeCodeCamp/curriculum/challenges/chinese/03-front-end-libraries/react/use-default-props.chinese.md

2.1 KiB
Raw Blame History

id title challengeType isRequired videoUrl localeTitle
5a24c314108439a4d403616b Use Default Props 6 false 使用默认道具

Description

React还有一个设置默认道具的选项。您可以将默认道具分配给组件作为组件本身的属性如果需要React会分配默认支柱。如果没有显式提供值这允许您指定prop值应该是什么。例如如果您声明MyComponent.defaultProps = { location: 'San Francisco' } ,则您已定义了设置为San Francisco字符串的位置道具除非您另行指定。如果道具未定义则React会指定默认道具但如果您将null作为道具的值传递,则它将保持为null

Instructions

代码编辑器显示ShoppingCart组件。在此组件上定义默认道具,指定值为0的道具items

Tests

tests:
  - text: <code>ShoppingCart</code>组件应该呈现。
    testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ShoppingCart)); return mockedComponent.find("ShoppingCart").length === 1; })(), "The <code>ShoppingCart</code> component should render.");'
  - text: '<code>ShoppingCart</code>组件应具有<code>{ items: 0 }</code>的默认支柱。'
    testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ShoppingCart)); mockedComponent.setProps({items: undefined}); return mockedComponent.find("ShoppingCart").props().items === 0; })(), "The <code>ShoppingCart</code> component should have a default prop of <code>{ items: 0 }</code>.");'

Challenge Seed

const ShoppingCart = (props) => {
  return (
    <div>
      <h1>Shopping Cart Component</h1>
    </div>
  )
};
// change code below this line

After Test

console.info('after the test');

Solution

// solution required