小编gnu*_*lla的帖子

隐藏JSON中的属性

我有一个包含2个玩家的结构表,但是Player当我发送JSON时,我需要忽略结构中的一些属性.

我可以使用json:"-",但随后属性将被忽略,我只需要在发送Table结构时忽略它.当我发送Player代码的其他部分时,我需要这些属性.

我有:

type Player struct {
    Id            Int64   `json:"id"`
    Username      string  `json:"username,omitempty"`
    Password      string          `json:"-,omitempty"`
    Email         string          `json:"email,omitempty"`
    Birthdate     time.Time       `json:"birthdate,omitempty"`
    Avatar        string  `json:avatar,omitempty"`
}

type Table struct {
    Id           int       `json:"id"`
    PlayerTop    Player      `json:"playerTop"`
    PlayerBottom Player      `json:"playerBottom"`
}
Run Code Online (Sandbox Code Playgroud)

我需要:

{
    "Table": {
        "id": 1,
        "playerBottom": {
            "id": 1,
            "username": "peter",
            "avatar": "avatar.png"
        },
        "playerTop": {
            "id": 1,
            "username": "peter",
            "avatar": "avatar.png"
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

玩家来自数据库,因此属性不为空.

a)我可以这样做:

myTable = new(Table)

myTable.PlayerBottom.Email = "" …
Run Code Online (Sandbox Code Playgroud)

json go

5
推荐指数
1
解决办法
87
查看次数

反应:无效的钩子调用。Hooks 只能在函数组件内部调用

我花了 2 天时间试图了解错误在哪里,知道吗?

应用程序.js

import React, { useState, useEffect} from 'react';
import Menu from './components/Menu';


function App() {  

    return (
        <Menu></Menu>    
    );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

菜单.js

import React, { useState, useContext } from 'react';
import Logout from './Logout';


function Menu() {
    return (
        <button onClick={() => Logout()}>button</button>
    );
}

export default Menu;
Run Code Online (Sandbox Code Playgroud)

登出.js

import React, { useContext, useState } from 'react';
export function Logout() {

    const [user, setUser] = useState();
    const [token, setToken] = useState();

    localStorage.removeItem("token");
    localStorage.removeItem("user");
    setToken();
    setUser(); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

5
推荐指数
1
解决办法
1万
查看次数

反应。试图从 onClick 事件调用自定义钩子

我正在尝试制作一个按钮来注销用户并将逻辑移动到自定义挂钩useLogout.js

菜单.js

import useLogout from './useLogout';
import UserContext from './UserContext';
import TokenContext from './TokenContext';

function Menu() {
    const [user, setUser] = useContext(UserContext);
    const [token, setToken] = useContext(TokenContext);

/*  some code....*/
 let button;

    if (token && token.access_token && user) {
        button = <Button onClick={useLogout}>Logout</Button>;
    } else {
        button = <Button>Login</Button>;
    }

/* some code.... */
    return(
      <Nav.Link>
          {button}
      </Nav.Link>
    )
}
Run Code Online (Sandbox Code Playgroud)

使用Logout.js

import React, { useContext, useState} from 'react';
import UserContext from './UserContext';
import TokenContext from './TokenContext';

export default …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

1
推荐指数
1
解决办法
4033
查看次数

标签 统计

javascript ×2

reactjs ×2

go ×1

json ×1