Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将值更改为其他值,并使用“!”&引用;操作人员_Javascript_React Native - Fatal编程技术网

Javascript 将值更改为其他值,并使用“!”&引用;操作人员

Javascript 将值更改为其他值,并使用“!”&引用;操作人员,javascript,react-native,Javascript,React Native,根据我头脑中的逻辑: 如果我触摸电子邮件的不透明性,那么globlas.Email应该从false变为true,但事实上它什么都不做 因为我认为当'this.getMedia(item.MediaNow)'=true时 那就不要是"!!(!this.getMedia(item.MediaNow))'=false 有人能解释一下为什么吗? 或者告诉我如何让我的代码按照我的意愿工作 getMedia = Media => { switch (Media) { case "Call":

根据我头脑中的逻辑:

如果我触摸电子邮件的不透明性,那么globlas.Email应该从false变为true,但事实上它什么都不做

因为我认为当'this.getMedia(item.MediaNow)'=true时 那就不要是"!!(!this.getMedia(item.MediaNow))'=false

有人能解释一下为什么吗? 或者告诉我如何让我的代码按照我的意愿工作

getMedia = Media => {
 switch (Media) {
   case "Call":
    return global.Call;
  case "Email":
    return global.Email;


setMedia = (Media, value) => {
 switch (Media) {
  case "Call":
    global.Call = value;
    this.setState({});

  case "Email":
    global.Email= value;
    this.setState({});


 {...}


 <TouchableOpacity
  onPress={() => {
   this.setMedia(!this.getMedia(item.MediaNow)); 
// MediaNow is either "Call" or "Email". so my expectet result of 
// (!this.getMedia(item.MediaNow)) would be: true/false

  }}
 >
提前非常感谢看看你的方法:

setMedia = (Media, value) => {
现在看看你是怎么称呼它的

this.setMedia(!this.getMedia(item.MediaNow)); 
方法需要两个参数,而您正在传递一个参数

this.setMedia(item.MediaNow, !this.getMedia(item.MediaNow)); 
看看你的方法:

setMedia = (Media, value) => {
现在看看你是怎么称呼它的

this.setMedia(!this.getMedia(item.MediaNow)); 
方法需要两个参数,而您正在传递一个参数

this.setMedia(item.MediaNow, !this.getMedia(item.MediaNow)); 

据我所见,您正在返回一个在全局对象中定义的值

当使用时!运算符,JavaScript将尝试将该值转换为布尔值,然后应用否定

就你而言
!this.getMedia(item.MediaNow)

将被解析为…给我this.getMedia(item.MediaNow)的值,并将其转换为bool

JS将检查值是falsy(未定义、零、假等)还是true(对象、非空字符串等)

就你而言。。。
!
(something true)==false

据我所见,您正在返回一个在全局对象内定义的值

当使用时!运算符,JavaScript将尝试将该值转换为布尔值,然后应用否定

就你而言
!this.getMedia(item.MediaNow)

将被解析为…给我this.getMedia(item.MediaNow)的值,并将其转换为bool

JS将检查值是falsy(未定义、零、假等)还是true(对象、非空字符串等)

就你而言。。。
!
(something true)==false

setMedia需要两个参数,您传入一个….setMedia需要两个参数,您传入一个。。。。