小编rom*_*lem的帖子

无法分配给“当前”,因为它是只读属性

我试图让 useRef obj 为 null 或函数,这里是代码片段

import "./styles.css";
import { useState, useRef, useEffect } from "react";
export default function App() {
  const testRef = useRef<string | null>(null);
  const unblockRef = useRef<() => void | null>(null);

  useEffect(() => {
    const test = () => {
      console.log("hey");
    };

    testRef.current = "";

    // this would give the error code
    unblockRef.current = null;
    // unblockRef.current = "saddsa";
  }, []);
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
    </div>
  ); …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs flowtype

38
推荐指数
3
解决办法
3万
查看次数

iOS Safari中的单击会触发您点击的元素下方的"悬停状态"

在iOS Safari上(我觉得哪个版本的iOS不重要,但我在iOS(Safari)11上进行测试),如果我<div>在一个有效的元素上定位:hover,并且<div>有一个事件使它成为现实单击时消失,然后我的链接"underneath"获取从DOM中删除元素后应用的悬停效果.

请参阅下面的动画GIF我正在谈论的内容:

iOS点击进入

我已经为按钮提供了透明背景,因此您可以看到它背后的链接.当我在没有找到链接的位置点击按钮时,链接(即Some link)保持蓝色并且不会更改为其悬停状态的红色.

然而,当我点击了div在恰好是一个点正上方的链接,后div从DOM删除,链接得到应用其悬停状态.

在每个链接之后单击该链接可正确触发其on.click事件(警报窗口).

我在Chrome上的Android上没有看到这个问题(参见下面的示例):

Android点击工作

您还可以在下面找到我使用的示例HTML/CSS/JS; 设置非常简单.

我希望iOS的行为方式与Android Chrome相同:即,点击立即从DOM中删除的元素不应该触发:hover紧跟在其后面的元素的状态.

document.addEventListener("DOMContentLoaded", function ready() {
  var button = document.querySelector(".button");
  button.addEventListener("click", function() {
    button.parentNode.removeChild(button);
  });
  
  document.querySelector('a').addEventListener("click", function() {
    window.alert('clicked!');
  });
});
Run Code Online (Sandbox Code Playgroud)
a:link    { color: blue }
a:visited { color: blue }
a:hover   { color: red }
a:active  { color: green }

.button {
    background: …
Run Code Online (Sandbox Code Playgroud)

html javascript css ios

17
推荐指数
2
解决办法
6853
查看次数

为什么PHP在脚本完成后会打印百分号?

当我echo 'Hello World';从Mac上的终端运行PHP中的简单脚本时,我看到%行尾的百分号()出现了.

为什么是这样?我可以禁用它吗?

~ php -r "echo 'Hello World';"
Hello World%                                          
~ 
Run Code Online (Sandbox Code Playgroud)

问题截图

从技术上讲,我不是用bash做的,我正在运行Oh My Zsh,如果这很重要的话.

php macos terminal

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

还设置了“initial-scale=1.0”时从视口元标记中删除“width=device-width”的副作用

虽然该<meta name="viewport">标签未标准化,但“由于事实上的主导地位,它受到大多数移动浏览器的尊重”。

它不是真正的 Web 标准的一个缺点是详细的文档不像其他标准那样可用。该CSS工作组对这个规范,所以这就是我主要用作为权威著作。

我的主要问题是:

以下声明之间的感知差异是什么?

<meta name="viewport" content="width=device-width, initial-scale=1.0">
Run Code Online (Sandbox Code Playgroud)
<meta name="viewport" content="initial-scale=1.0">
Run Code Online (Sandbox Code Playgroud)

或者被问到,这两个@viewport CSS at-rules之间有什么区别:

/* Translated from <meta name="viewport" content="width=device-width, initial-scale=1.0"> */
@viewport {
    zoom: 1.0;
    min-width: extend-to-zoom;
    max-width: 100vw;
}
Run Code Online (Sandbox Code Playgroud)
/* Translated from <meta name="viewport" content="initial-scale=1.0"> */
@viewport {
    zoom: 1.0;
    min-width: extend-to-zoom;
    max-width: extend-to-zoom;
}
Run Code Online (Sandbox Code Playgroud)

我是如何得出这些@viewport翻译的:

width=device-widthmin-width: extend-to-zoom; max-width: 100vw;

CSS设备适配模块级别1号文件规定:

widthheight视口<META>特性被转换成widthheight描述符,设置min-width/ …

css meta viewport meta-tags

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

在列表元素中创建基础网格

我正在尝试创建一个有序列表,其中每个li列表都包含Foundation 5.5.3网格的一部分.

我遇到的问题是,我的li元素是在其子网格列之前的顶部插入一些空格.

例:

显示

经过一些调查,我发现这是由于基础CSS规则content: " "; display: table;放在::before我的行的psuedo元素上.

问题CSS与

然而,重写/删除它会弄乱行本身的间距.

我试过把这个row课脱离li自己并插入一个孩子,div.row但我仍然看到同样的问题.

要重申的是,我想内的每一个创建一个2柱网li的的ol/ul名单,但这样做,在每个顶部增加了一些垂直空间li.我怎样才能摆脱这个空间,或者,我应该采取另一种方法来在几个lis 内实现这个2列网格.

谢谢.


例:

li {
  background-color: #ddd;
  padding: 5px;
}

li + li {
  margin-top: 5px !important;
}

li > span {
  background-color: yellow;
}

/* Trying to override ::before and ::after on .row */
.row.psuedo-override::before, .row.psuedo-override::after {
  content: none !important;
}
Run Code Online (Sandbox Code Playgroud)
<link href="https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.3/css/foundation.css" …
Run Code Online (Sandbox Code Playgroud)

html css layout css3 zurb-foundation

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

带有 `max-height: 0` 的 Fieldset 在 Chrome v87+ 上总是溢出

在Chrome 86,fieldsetmax-height比其内容的高度更低,overflow: hidden将隐藏的内容fieldset

Chrome 86 溢出

然而,在 Chrome v87 ( 87.0.4280.67) 上,这显然改变了。

Chrome 87 溢出

如果height设置的a小于内容,则它会正确隐藏溢出。这个错误只出现在max-height.

以下代码段将在 Chrome v86 及更早版本、Firefox 和 Safari 上正确呈现。在 Chrome 87 上,第一个fieldset会溢出。

fieldset {
    /* Reset user-agent styles */
    padding: 0;
    margin: 0;
    border: 0;
    
    overflow: hidden;
    
    /* Misc */
    background: cyan;
    margin-top: 1em;
}
Run Code Online (Sandbox Code Playgroud)
<fieldset style="max-height: 9px">
  This should be half-visible
  (<code>max-height: 9px; overflow: hidden</code>)
</fieldset>

<fieldset style="height: 9px">
  This should also be half-visible
  (<code>height: 9px; …
Run Code Online (Sandbox Code Playgroud)

css google-chrome overflow fieldset

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

在 phpMyAdmin &gt;4.3.0 中禁用 BINARY 列的文件下载链接

我有一个 MySQL 数据库,我在所有表中使用一binary(36)列作为唯一的列id

当引入phpMyAdmin 4.3.0时,他们似乎添加了一项功能,其中 BLOB 和 BINARY 类型的列将其数据显示为链接,单击该链接可以让您下载文件(在我的情况下,下载了.bin文件)。

单击 ID 下载 .bin 文件

如果要编辑数据,则必须单击单元格的空白部分以打开“编辑”模式。

我可以看到这很有用,但就我而言,我对它下载的 .bin 文件不感兴趣。

在较旧版本的 phpMyAdmin(例如4.1.0)中,此功能不可用(或至少默认情况下未启用)。您只需单击显示的文本,就会弹出编辑对话框。

单击 ID 打开编辑对话框

我查看了phpMyAdmin 的文档,但找不到禁用此功能的设置。有$cfg['ProtectBinary']设置,但我已经将它设置为blob,所以这应该不是问题。

理想情况下,我想使用最新版本的 phpMyAdmin,但前提是我可以更改此设置。谢谢。

phpmyadmin

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

将文字不正确编码的字符串(例如"ñ")转换为ISO-8859-1(Latin1)H

在没有详细介绍的情况下,我有一个C#WCF应用程序,它是我调用的基于XML的API的包装器.该API返回一个字符串,它实际上只是一个XML文档.然后我解析该XML,然后返回它.返回的信息在浏览器中显示为JSON.

有点令人困惑,但这里有一些采样代码:

[OperationContract]
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Bare,
    ResponseFormat = WebMessageFormat.Json, UriTemplate = "/TestGetUser")]
TestGetUserResponse TestGetUser();

/* ... */

[DataContract(Namespace = "http://schema.mytestdomain/", Name = "TestGetUser")]
public class TestGetUserResponse
{
    [DataMember]
    public User User { get; set; }
    [DataMember]
    public Error Error { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

TestGetUser存在:

public TestGetUserResponse TestGetUser() {
    WebClient client = getCredentials(); // getCredentials() method is defined elsewhere

    string apiUrl = "http://my.api.url.com/API";
    string apiRequest = "<?xml version='1.0' encoding='utf-8' ?><test>My XML Request Lives Here</test>";

    string …
Run Code Online (Sandbox Code Playgroud)

.net c# encoding

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

更改 MAMP 中的 PATH 环境变量

我需要更新MAMP v3.4服务器中的PATH变量。

如您所见, Apache 使用的PATH环境变量与我打开终端时使用的PATH不匹配。

<?php
  passthru('env');
  die();
Run Code Online (Sandbox Code Playgroud)

上面的脚本打印出:

...
PATH=/usr/bin:/bin:/usr/sbin:/sbin
...
Run Code Online (Sandbox Code Playgroud)

同时,我运行终端时的路径是:

$ env
  ...
  PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

我已经尝试过此处此处提供的解决方案,但没有一个有效。

设置环境变量似乎很有希望,但在设置PATH/Applications/MAMP/conf/apache/httpd.conf时不起作用。

# Near the top of my httpd.conf file...
SetEnv MY_TEST_DETAIL foo
SetEnv PATH /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

我重新启动我的 MAMP 服务器,然后查看phpinfo()

阿帕奇环境变量

如您所见,它添加了MY_TEST_DETAIL环境变量,但没有更改PATH

php macos mamp

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

为什么Firefox渲染没有"顶部"间距的无衬线文本?

我有一个简单的<a class="button">元素,我注意到在Firefox上,文字不像Chrome那样垂直对齐.

这是我的CSS:

body {
  font-family: sans-serif;
  font-size: 36px;

  padding: 1em;

  color: #333;
  background-color: #f6f6f6;
}

.button {
  font-size: 2em;

  display: inline-block;

  margin: 10px 0;
  padding: 0.6em 1em;

  text-align: center;
  text-decoration: none;
  text-transform: uppercase;

  color: #333333;
  background-color: #a3e7fc;
}
.button:hover {
  background-color: #a5eaff;
}
.button:active {
  background-color: #9bdcef;
}
Run Code Online (Sandbox Code Playgroud)

很基本的.这是一个codepen,所以你可以在浏览器中查看它:http://codepen.io/romellem/pen/GoazbW

现在我不确定,这就是为什么Firefox正在如此糟糕地渲染文本.也就是说,它在文本下面放了很多空间,但不是很多.

以下是一些截图:

火狐:
火狐

铬:
铬

搜索周围,我无法找到关于这个主题的阅读材料.

任何人都有任何想法为什么Firefox渲染文本底部的空格,但不是顶部?谢谢.

注意:我正在运行Mac OS X Yosemite(10.10.5).

css firefox google-chrome

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

如何强制NPM使用本地托管的注册表

安装节点模块时,NPM从默认注册表中获取软件包:

https://registry.npmjs.org
Run Code Online (Sandbox Code Playgroud)

我的公司正在托管自己的节点注册表,我想使用它。如何强制NPM使用此本地注册表。

我不想使用npm install --registry选项。

有没有办法让特定计算机上的所有用户使用此内部注册表?

node.js npm npm-install

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

两个 svgo-loader 冲突

我正在使用webpack构建 svg-sprite。

\n

但有一个问题:部分图标有多种颜色,而部分\xe2\x80\x94\xc2\xa0只有一种颜色。它们按原样使用。

\n

一种颜色图标应根据:hover/改变颜色:active

\n

并且,根据此我应该清理一种颜色图标的填充属性。

\n

我无法用多色的来做到这一点。

\n

我决定将它们分开到不同的文件夹并创建两个 webpack 规则:

\n
{\n  test: /icon\\/.*\\.svg$/,\n  loaders: [\n    \'svg-sprite-loader\',\n    {\n      loader: \'svgo-loader\',\n      options: {\n        plugins: [\n          // ...\n        ],\n      },\n    },\n  ],\n},\n{\n  test: /monoicon\\/.*\\.svg$/,\n  loaders: [\n    \'svg-sprite-loader\',\n    {\n      loader: \'svgo-loader\',\n      options: {\n        enforce: \'pre\',\n        plugins: [\n          // ...\n          { removeAttrs: { attrs: \'(fill|stroke)\' } },\n        ],\n      },\n    },\n  ],\n},\n
Run Code Online (Sandbox Code Playgroud)\n

一切都很好,但实际上不起作用。我进入控制台:

\n
\xe2\x80\xa6/monoicon/cross.svg\nModule build failed: Error: Error in parsing SVG: Non-whitespace before …
Run Code Online (Sandbox Code Playgroud)

svg reactjs webpack

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

用于 SWIMLANE 的 Azure DevOps REST API

我正在尝试将 Servicenow 与 Azure Devops Board 集成,以使用 REST API 在工作项上创建/更新等

我成功地在工作项上创建和更新了很多东西

我找不到告诉工作项落在特定泳道中的 API

在此处输入图片说明

如果你查看我附上的图片,它有一个默认的泳道(测试)和自定义的......所以 H 有一个 api 将它从“ToDo”移动到“Doing”,但是如果你注意到有多个“Doing” “因为有不同的泳道,所以任何人都可以请帮助技巧是什么或告诉工作项落在特定泳道中的 API

我做了一些研究,发现“System.BoardLane”我确实在后期和补丁中使用过

错误:

{
    "$id": "1",
    "customProperties": {
        "ReferenceName": null
    },
    "innerException": null,
    "message": "TF401326: Invalid field status 'ReadOnly' for field 'System.BoardLane'.",
    "typeName": "Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemFieldInvalidException, Microsoft.TeamFoundation.WorkItemTracking.Server",
    "typeKey": "WorkItemFieldInvalidException",
    "errorCode": 600171,
    "eventId": 3200
}
Run Code Online (Sandbox Code Playgroud)

然后我使用了操作“op”:“move”

错误:

{
    "$id": "1",
    "innerException": null,
    "message": "Move/Copy is not implemented.",
    "typeName": "Microsoft.VisualStudio.Services.WebApi.Patch.PatchOperationFailedException, Microsoft.VisualStudio.Services.WebApi",
    "typeKey": "PatchOperationFailedException",
    "errorCode": 0,
    "eventId": 3000
}
Run Code Online (Sandbox Code Playgroud)

azure-devops

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