小编Jac*_*cki的帖子

使用 Material UI 取消选中单选按钮

我希望能够取消选中单选按钮,想法是这样的:如果我点击某个单选按钮,它将被选中,如果我点击另一个字段,这个另一个字段将被选中但是如果我点击在已选中的字段上,我希望取消选中它,以便所有字段都为空。我试图抓住被选中或取消选中的时刻,但似乎与复选框相反,单选按钮没有这个字段。有谁知道如何实现这一目标?

setTests = (key, e) => {
    console.log(e.checked)
    if (e.checked) {
      // this.setState({[key]: null})
      console.log('works')
    }
  }
RadioGroup
            value={this.state.test_mode}
            style={{ display: "block" }}
            onChange={e => this.setTests({ "test_mode", e.target })}
          >
            <FormControlLabel value="before" control={<Radio color="primary"/>} label="before tests" />
            <FormControlLabel value="progressing" control={<Radio color="primary"/>} label="progressing" />
            <FormControlLabel value="done" control={<Radio color="primary"/>} label="done" />

          </RadioGroup>
Run Code Online (Sandbox Code Playgroud)

radio-button reactjs material-ui

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

单击按钮后 React hooks useInterval 重置

我有钩子 useInterval ,它每 10 秒自动下载一次数据,但是我也有按钮,它可以每时每刻手动下载数据。当我单击按钮时,我很难重新启动间隔计时器。所以基本上,如果间隔计数到 5,但我同时单击按钮,间隔应该重新启动,并在下载数据之前再次开始计数到 ​​10

const useInterval = (callback, delay) => {
    const savedCallback = useRef(callback);

    useEffect(() => {
        savedCallback.current = callback;
    }, [callback]);

    useEffect(() => {
        const tick = () => {
            savedCallback.current();
        }

        if (delay !== null) {
            const id = setInterval(tick, delay);
            return () => clearInterval(id);
        }
    }, [delay]);
};

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

应用程序部分:

useInterval(() => {
        getMessage();
      }, 10000)

const getMessage = async () => {
    setProcessing(true)
    try {
      const res = await fetch('url') …
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

5
推荐指数
2
解决办法
3225
查看次数

django Serializer 对象没有属性

我在 python 方面没有太多经验,但是有任务在 django 中编写服务器,它将处理我从前端发送的 api 请求,问题是 eventho GET 运行良好,POST 仍然会抛出一些错误。如果我通过管理面板添加新徽标,它会起作用,当我尝试通过邮递员这样做时,它会抛出此错误:

Traceback (most recent call last):
  File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/user/.local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/user/.local/lib/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 505, in dispatch
    response = self.handle_exception(exc)
  File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 465, in handle_exception …
Run Code Online (Sandbox Code Playgroud)

python django serialization

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

只允许输入字母或数字

我正在 React Native 中开发应用程序,并希望允许用户只输入字母或数字,所以如果第一个字符是字母,那么用户将无法在此之后输入任何数字,如果第一个字符是相反的数字,然后用户将无法在此之后键入任何字母。实际上不知道如何启动它,我想最好的方法是使用正则表达式检查第一个字符,然后基于此禁用键入字母/数字,但不确定如何操作。

(/[a-zA-Z]/).test(this.state.myValue.charAt(0)) ? "disable typing numbers" : "disable typing letters"
Run Code Online (Sandbox Code Playgroud)

我的 TextInput 看起来像这样:

<TextInput
 onChangeText={e=> this.handleInput(e), "myValue"}
 value={this.state.myValue}
 />

handleInput(value, key) {
 /^(?:[A-Za-z]+|\d+)$/.test(value) ? "block number" : "block letter"

 this.setState({[key]: value)}
}
Run Code Online (Sandbox Code Playgroud)

javascript regex reactjs react-native

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

Visual Studio代码导入自定义CSS和JS扩展

我想安装自定义样式,以便在 Visual Studio 代码中为类和属性使用不同的字体。

我安装了自定义 CSS 和 JS 加载器扩展,并按照指南进行操作,但它似乎不起作用。

这是我尝试过的。我创建了一个文件styles.css,在其中放置了以下代码:

.mtk1,
.mtk2,
.mtk8,
.mtk9,
.mtk10,
.mtk12,
.mtk11,
.mtk7,
.mtk3,
.mtk13,
.mtk16 {
  margin-left: 1px;
  font-family: "Indie Flower";
  font-size: 1em;

}

.mtk7,
.mtk4 {
  font-family: "Arial";
  font-size: 0.7em;
}

/*
For the tab titles.
*/
.monaco-icon-label-description-container .label-name {
  font-family: "Indie Flower";
  font-size: 1.3em;
}

.tabs-container .monaco-icon-label-description-container .label-name,
.sidebar .monaco-icon-label-description-container .label-name,
.quick-open-row .monaco-icon-label-description-container .label-name {
  font-family: -apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,Ubuntu,Droid Sans,sans-serif;
  font-size: 1em;
}
Run Code Online (Sandbox Code Playgroud)

然后settings.json我添加了以下设置:

{
  "vscode_custom_css.imports": …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-extensions

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

在 React Native 中获取 csrf 令牌

我已经构建了 django 服务器来管理我的数据,然后我有桌面 React 应用程序,我可以在其中创建新用户/登录/发布数据,它工作完美,它基于 csrf 令牌验证,没有问题。不过,我还有反应本机应用程序,它应该让用户登录并获取属于他的数据。这里有一个问题,如何在 React Native 中获取 CSRF 令牌?在桌面应用程序中,它看起来或多或少像这样,但我不知道如何登录反应本机,因为我不能简单地使用 csrf 令牌获取 Cookie。

componentDidMount() {
    const csrfToken = Cookies.get('csrftoken')
    this.setState({csrfToken})

  }

    loginHandler = login_data => {
    this.setState({
      user: login_data.user,
      password: login_data.password
    }, () => {
      const auth = {
        "username": this.state.user,
        "password": this.state.password
      }

      fetch("http://localhost:8000/data/", {
        method: 'POST',
        credentials: 'include',
        headers: {
          "X-CSRFToken": this.state.csrfToken,
        },
        body: JSON.stringify(auth)
      })
        .then((res) => res.json())
        .then(resp => console.log(resp))
        .then(() => this.getData())
        .catch(() => this.setState({
          user: "",
          passowrd: ""
        }))
    })
  };
Run Code Online (Sandbox Code Playgroud)

django csrf reactjs react-native

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