我在 React 应用程序中有一个注册表单。我正在使用 Material-ui TextField 并使用 errorText 属性在输入中有错误时添加消息。
errorText={this.state.messages.emailMessage}
Run Code Online (Sandbox Code Playgroud)
state.messages.emailMessage 最初设置为 null,因此 TextField 在首次呈现输入时没有用于消息的额外空间。
添加消息后,它会移动其他元素。
如果需要,如何为新节点留出空间,以便其他元素不被移动?我尝试将消息的初始状态设置为“ ”,但这会将输入颜色设置为红色以表示错误,并且无论如何都不起作用!
我在一篇文章中遇到了这种解构表达.
const words = ['oops', 'gasp', 'shout', 'sun'];
let { length } = words;
console.log(length); // 4
Run Code Online (Sandbox Code Playgroud)
如何length获得4的值?我知道.length是数组的属性,但这种语法是如何工作的?它似乎正在做let length = words.length;,事实上在babel确实输出它.但我的问题是它背后的逻辑是什么?令我困惑的是一系列价值观的混合和使用{length}.
我已经阅读了MDN的描述,但无法看到这个例子的解释.
我正在开发一个节点应用程序并使用 Typescript。我有winston 3。在我的代码中我添加了自定义日志级别;
const myCustomLevels = {
levels: {
data: 10,
protocol: 9,
debug: 8,
info: 7,
notice: 6,
note: 5,
warn: 4,
error: 3,
crit: 2,
alert: 1,
emerg: 0,
}
}
Run Code Online (Sandbox Code Playgroud)
然后
const logger = winston.createLogger({
level: data,
levels: myCustomLevels.levels,
format: winston.format.combine(
winston.format.json()
),
transports: [new winston.transports.Console()],
});
Run Code Online (Sandbox Code Playgroud)
我需要帮助解决的问题是当我使用 Typescript 记录器时发出的抱怨。
logger.protocol({});
Run Code Online (Sandbox Code Playgroud)
在本例中,类型为const logger: winston.Logger,并且 ts 表示[ts] Property 'protocol' does not exist on type 'Logger'. [2339]。Typescript 不知道我的水平。
我该如何纠正这个问题,以便tsc了解我在记录器上的级别?
我有一个混合TS和JS项目,与正常工作allowJS: true的环境tsconfig。
我现在想使用需要的项目引用,composite: true这意味着allowJS不能使用。
这是否意味着我只能在纯打字稿项目中使用项目引用?
当我tsc -b因为不包含 js 文件而运行时,输出代码缺少声明!
我如何仍然在我的项目中包含 js 代码但使用较新的项目引用?
在阅读 Javascript Allonge 时,我陷入了试图找出原因的困境中;
((n) => {
const even = (x) => {
if (x === 0)
return true;
else
return !even(x - 1);
}
return even(n)
})(97)
Run Code Online (Sandbox Code Playgroud)
根据提供的数字是奇数还是偶数返回 true 或 false。
当我查看它时,我认为它正在检查提供的数字是否为 0,如果不是减去 1,则再次检查。这意味着数字最终达到 0 并返回 true。这显然不是正在发生的事情,因为 97 返回 false,96 返回 true。
我在这里唯一不知道的是之前的爆炸声return !even(x -1);。
我的 iMac 上有 Tmux 设置,因此CAPS和Ctrl交换并且C-a是前缀。在我的旧笔记本电脑上,我有没有 Xwindows 的 archlinux,我不知道如何重新映射这些键。在 Mac 上,这很简单。我如何在我的准系统 linux 设置上做到这一点?
我一直在尝试在节点应用程序中使用 Rxjs。fileList$是从fs.readdirsync(字符串数组)的返回。
第一个map()有一个名为 filename 的参数。
flatMap() readFileAsObservable()用于bindNodeCallback(fs.readFile)读取文件。
我的班级Testian需要 2 个参数;通过yaml-js读取文件和filename从第一张地图创建的对象。如何filename在我指定的管道中访问?
fileList$
.pipe(
map((filename: string) => `${resolvedDirPath}/${filename}`),
flatMap(
(filePath: string) => readFileAsObservable(filePath, 'utf8') as Observable<string>
),
map((fileData: string) => yaml.safeLoad(fileData) as ITestYaml),
map((testYaml: ITestYaml) => new Testian(testYaml, [I want to use filename here])),
flatMap((testYaml: Testian) => {
const prom: Promise<{}> = activeTests.set(testYaml);
outgoing.sendTest(testYaml);
return from(prom);
})
)
Run Code Online (Sandbox Code Playgroud) 在我的 vim 设置中,我用set list. 我正在使用日光化的黑暗主题,但改变主题我仍然遇到同样的问题,有时甚至更糟!制表符显示的颜色与背景不同。
我如何阻止这种行为,因为它应该是微妙的,但效果却是压倒性的!
我在页面上有一个字母.我希望它真的很大(我的字体大小设置为2000%!).如何使其响应以使其位于所有屏幕的中心?在大小的情况下,我知道在调整浏览器大小时,字母周围的填充是一个真正的问题.我正在尝试为儿童制作闪存卡以学习他们的信件.
javascript ×2
typescript ×2
arrays ×1
boolean ×1
css ×1
html ×1
key-bindings ×1
keyboard ×1
linux ×1
material-ui ×1
node.js ×1
reactjs ×1
rxjs6 ×1
tmux ×1
tsc ×1
tsconfig ×1
vim ×1
winston ×1