I have this exercise, where I have to do math calculations all the time with PROPS, which results in extremely long code. Do you know how to simplify this ?
import React, { useState } from 'react'
const Button = (props) => (
<button onClick={props.handleClick}>
{props.text}
</button>
)
const Statistics = (props) => {
if (props.allClicks.length === 0) {
return (
<div>
<h2>No feedback given</h2>
</div>
)
}
return (
<div>
<p>good {props.allClicks.filter(x => x === "G").length}</p>
<p>neutral {props.allClicks.filter(x => x === "N").length}</p>
<p>bad {props.allClicks.filter(x => x === "B").length}</p>
<p>all {props.allClicks.length}</p>
<p>average {(props.allClicks.length)/3}</p>
<p>positive {100*(props.allClicks.length - props.allClicks.filter(x => x === "B").length)/(props.allClicks.length)} %</p>
</div>
)
}
This part is crazy long
<p>good {props.allClicks.filter(x => x === "G").length}</p>
<p>neutral {props.allClicks.filter(x => x === "N").length}</p>
<p>bad {props.allClicks.filter(x => x === "B").length}</p>
<p>all {props.allClicks.length}</p>
<p>average {(props.allClicks.length)/3}</p>
<p>positive {100*(props.allClicks.length - props.allClicks.filter(x => x === "B").length)/(props.allClicks.length)} %</p>