Javascript 在无状态组件内传递函数无效

Javascript 在无状态组件内传递函数无效,javascript,function,react-native,components,stateless,Javascript,Function,React Native,Components,Stateless,我尝试在无状态组件中使用函数。但它不能正常工作 const selectedColor=函数({color}){ 开关(彩色){ “绿色”案例: 返回样式。绿色; 打破 “蓝色”案例: 返回样式。蓝色; 打破 案例“红色”: 返回样式。红色; 打破 违约: 警惕。警惕(“未定义的颜色!”); } } 常量灯泡=({isLit,lightColor})=>{ 返回( {isLit?'ON':'OFF'} ); } 当isLit为真时,应触发selectedColor(lightColor)。

我尝试在无状态组件中使用函数。但它不能正常工作


const selectedColor=函数({color}){
开关(彩色){
“绿色”案例:
返回样式。绿色;
打破
“蓝色”案例:
返回样式。蓝色;
打破
案例“红色”:
返回样式。红色;
打破
违约:
警惕。警惕(“未定义的颜色!”);
}
}
常量灯泡=({isLit,lightColor})=>{
返回(
{isLit?'ON':'OFF'}
);
}


isLit
为真时,应触发
selectedColor(lightColor)
。一旦触发,即使
lightColor
是贪婪、红色或蓝色,它也会进入
Alert
。你能解释一下为什么会这样吗?有人能给我一个正确的方法吗

我对您的代码做了一些更改,现在可以使用了,演示就在这里

或者这是正在运行的代码,您只需要在函数中传递颜色,它就会显示出来

import { View, Text } from 'react-native'
import React, {useState} from 'react'

const App =()=>{
  const [isLit, setIsLit] = useState(true)
const selectedColor = (color)=> {
  console.log('color:', color)
    switch (color) {
        case 'green':
            return {backgroundColor: 'green'};
        case 'blue':
            return {backgroundColor: 'blue'};
        case 'red':
            return {backgroundColor: 'red'};
        default:
            Alert.alert("Undefined Color!");
    }
}
    return (
        <View
            style={[isLit ? selectedColor('red') : {backgroundColor: 'green'}, {alignSelf: 'stretch', height: 200}]}>
            <Text>{isLit ? 'ON' : 'OFF'}</Text>
        </View>
    );

}

export default App;
从'react native'导入{View,Text}
从“React”导入React,{useState}
常量应用=()=>{
const[isLit,setIsLit]=useState(真)
const selectedColor=(color)=>{
console.log('color:',color)
开关(彩色){
“绿色”案例:
返回{backgroundColor:'green'};
“蓝色”案例:
返回{backgroundColor:'blue'};
案例“红色”:
返回{backgroundColor:'red'};
违约:
警惕。警惕(“未定义的颜色!”);
}
}
返回(
{isLit?'ON':'OFF'}
);
}
导出默认应用程序;

当我删除{color}中的{}时,它会工作。

嗨,谢谢你的回复。它应该是无国籍的。
userState
使其有状态吗?@FerdaNahitFIDANCI您可以根据需要在“isLit”上传递任何值,我只是传递值以供演示。哦,我明白了。非常感谢。