Creating reusable Button on React Native
• Jan 06, 2024
export default function FormButton({title, color = 'green', marginX = 0, marginY=3, paddingX = 20, paddingY = 8}){
  const [btnColor, setBtnColor] = useState('');
    const [btnPressedColor, setBtnPressedColor] = useState('');
    const [btnTextColor, setBtnTextColor] = useState('');
    useEffect(() => {
        setBtnColor(theme.css[`button_${color}`])
        setBtnPressedColor(theme.css[`button_${color}_hover`])
        setBtnTextColor(theme.css[`button_text_${color}`])
    }, [])
    return (
        <Pressable 
            style={({ pressed }) => [
            theme.css.button, { marginHorizontal: marginX, 
            marginVertical: marginY, paddingHorizontal: paddingX, paddingVertical: paddingY},
            pressed ? btnPressedColor : btnColor,
          ]}>
            <Text style={[btnTextColor, {textAlign: 'center'}]}>{title}</Text>
        </Pressable>
    )
}