diff --git a/docs/api/ReactWrapper/props.md b/docs/api/ReactWrapper/props.md index 45d519d32..8dac4d74d 100644 --- a/docs/api/ReactWrapper/props.md +++ b/docs/api/ReactWrapper/props.md @@ -1,21 +1,47 @@ # `.props() => Object` -Returns the props hash for the current node of the wrapper. +Returns the props hash for the root node of the wrapper. NOTE: can only be called on a wrapper of a single node. +To return the props for the entire React component, use `wrapper.instance().props`. This is valid for stateful or stateless components in React `15.*`. But, `wrapper.instance()` will return `null` for stateless React component in React `16.*`, so `wrapper.instance().props` will cause an error in this case. See [`.instance() => ReactComponent`](instance.md) + #### Example +```jsx +import PropTypes from 'prop-types'; -```jsx -const wrapper = mount(); -expect(wrapper.props().foo).to.equal(10); +function MyComponent(props) { + const { includedProp } = props; + return ( +
Hello
+ ); +} +MyComponent.propTypes = { + includedProp: PropTypes.string.isRequired, +}; + +const wrapper = mount(); +expect(wrapper.props().includedProp).to.equal('Success!'); + +// Warning: .props() only returns props that are passed to the root node, +// which does not include excludedProp in this example. +// See the note above about wrapper.instance().props. + +console.log(wrapper.props()); +// {children: "Hello", className: "foo bar", includedProp="Success!"} + +console.log(wrapper.instance().props); // React 15.x - working as expected +// {children: "Hello", className: "foo bar", includedProp:"Success!", excludedProp: "I'm not included"} + +console.log(wrapper.instance().props); +// React 16.* - Uncaught TypeError: Cannot read property 'props' of null ``` #### Related Methods -- [`.prop() => Object`](prop.md) +- [`.prop(key) => Any`](prop.md) - [`.state([key]) => Any`](state.md) - [`.context([key]) => Any`](context.md) diff --git a/docs/api/ShallowWrapper/prop.md b/docs/api/ShallowWrapper/prop.md index da867172b..f57acecab 100644 --- a/docs/api/ShallowWrapper/prop.md +++ b/docs/api/ShallowWrapper/prop.md @@ -57,11 +57,11 @@ const wrapper = shallow(