Add readme instructions on how to use CustomerEffortScore (https://github.com/woocommerce/woocommerce-admin/pull/6746)

* Add readme instructions on how to use CustomerEffortScore

* Use fancy JS formatting
This commit is contained in:
Bec Scott 2021-04-07 10:58:01 +10:00 committed by GitHub
parent be0afca544
commit 4a595b3a87
1 changed files with 63 additions and 1 deletions

View File

@ -14,4 +14,66 @@ _This package assumes that your code will run in an **ES2015+** environment. If
## Usage
Coming soon.
### CustomerEffortScore component
`CustomerEffortScore` is a React component that can be used to implement your
own effort score survey, providing your own logging infrastructure.
This creates a wrapper component around `CustomerEffortScore` which simply logs
responses to the console:
```js
import CustomerEffortScore from '@woocommerce/customer-effort-score';
export function CustomerEffortScoreConsole( { label } ) {
const onNoticeShown = () => console.log( 'onNoticeShown' );
const onModalShown = () => console.log( 'onModalShown' );
const onNoticeDismissed = () => console.log( 'onNoticeDismissed' );
const recordScore = ( score, comments ) => console.log( { score, comments } );
return (
<CustomerEffortScore
recordScoreCallback={ recordScore }
label={ label }
onNoticeShownCallback={ onNoticeShown }
onNoticeDismissedCallback={ onNoticeDismissed }
onModalShownCallback={ onModalShown }
icon={
<span
style={ { height: 21, width: 21 } }
role="img"
aria-label="Pencil icon"
>
✏️
</span>
}
/>
);
};
```
Use this wrapper component in your code like this:
```js
const MyComponent = function() {
const [ ceses, setCeses ] = useState( [] );
const addCES = () => {
setCeses(
ceses.concat(
<CustomerEffortScoreConsole
label={ `survey ${ceses.length + 1}` }
key={ ceses.length + 1 }
/>
)
);
};
return (
<>
{ ceses }
<button onClick={ addCES }>Show new survey</button>
</>
);
};
```