Estoy tratando de obtener el resultado del selector de color para poder actualizar constantemente el color de una tarjeta en un componente separado. ¡El selector de color es para el color de la tarjeta! Probé algunas cosas, pero la mayoría regresa como indefinido o como un error. El problema es qué poner en setCardColour() Tengo this.currentColor pero eso no funciona. ¿Algunas ideas?
Esta es la función para cuando cambia el color:
function changeCardColour() { setCardColour(this.currentColour) console.log(cardColour) }Este es el selector de color en sí:
<ColourPicker color = {cardColour} swatches = {false} style = {styles.colourWheel} onColorChange = {changeCardColour} />Necesitas cambiar el código como,
function changeCardColour(selectedColour) { setCardColour(selectedColour) } Según el documento, onColorChange: (color) => {} función de devolución de llamada para el movimiento del control deslizante y la rueda.
const RoundedColorPicker = () => { const [currentColor, setCurrentColor] = useState('#000'); const onColorChange = (selectedColor: string) => { setCurrentColor(selectedColor); }; return ( <SafeAreaView style={RoundedColorPickerStyle.container}> <View style={[ RoundedColorPickerStyle.currentColorContainer, {backgroundColor: currentColor}, ]} /> <Text>Current Color:{currentColor}</Text> <ColorPicker color={currentColor} swatchesOnly={false} onColorChange={onColorChange} thumbSize={40} sliderSize={40} noSnap={true} row={false} /> </SafeAreaView> ); };Lo uso de esta manera y funciona bien para mí.