Achei viável manter a "função" genérica e o Setter também genérico dentro de CampoTexto:
const CampoTexto = (props) => {
const [valor, setValor] = useState(props.value)
const = (evento)=> {
setValor(evento.target.value)
console.log(valor)
}
return (
<div className="campoTexto">
<label>{props.label}</label>
<input value={valor} type={props.tipo} onChange={aoDigitado} required={props.obrigatorio} placeholder={props.placeholder}/>
</div>
)
}
dessa forma na hora de declarar o componente basta definir o value:
<CampoTexto value="9999999" label="Telefone" placeholder="Digite seu telefone" />
Funcionou dessa forma. Alguém pode me dizer se está certo?