我正在使用 CRA 创建的 React 应用程序中显示图像。每次我重新加载网页时,图像都会奇怪地闪烁,如下所示。
\n样式.css:
\nimg {\n width: 200px;\n height: 300px;\n object-fit: cover;\n}\nRun Code Online (Sandbox Code Playgroud)\n应用程序.tsx
\nimport React from \'react\';\nimport foo from \'./foo.jpg\';\n\nimport \'./styles.css\';\n\nconst App = () => <img src={foo} alt="foo" />;\n\nexport default App;\nRun Code Online (Sandbox Code Playgroud)\n包.json
\n{\n "name": "xyz",\n "version": "0.1.0",\n "private": true,\n "dependencies": {\n "@testing-library/jest-dom": "^4.2.4",\n "@testing-library/react": "^9.5.0",\n "@testing-library/user-event": "^7.2.1",\n "react": "^16.13.1",\n "react-dom": "^16.13.1",\n "react-scripts": "3.4.3"\n },\n "scripts": {\n "start": "react-scripts start",\n "build": "react-scripts build",\n "test": "react-scripts …Run Code Online (Sandbox Code Playgroud) 我正在增加foo一个名为recursively的useCallback钩子。但是,增加的值不会反映在回调中。foo
const { useState, useCallback } = React;
const App = () => {
const [foo, setFoo] = useState(0);
const recursiveCallback = useCallback(() => {
// always logs 0
console.log(foo);
// incrementing foo
setFoo(foo + 1);
setTimeout(() => {
// recursive call
recursiveCallback();
}, 250);
}, [foo]);
return <button onClick={recursiveCallback}>Click Me</button>;
}
ReactDOM.render(<App />,document.getElementById('root'));Run Code Online (Sandbox Code Playgroud)
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script>Run Code Online (Sandbox Code Playgroud)
我有两个变量foo&bar并且我想基于condition.
我已经从这里缩短了代码:
let foo = '';
let bar = '';
if (condition) {
foo = 'hi';
bar = 'bye';
} else {
foo = 'bye';
bar = 'hi';
}
Run Code Online (Sandbox Code Playgroud)
对此:
const foo = condition ? 'hi' : 'bye';
const bar = !condition ? 'hi' : 'bye';
Run Code Online (Sandbox Code Playgroud)
我仍然觉得代码重复使用两次三元运算符。无论如何我可以缩短这段代码吗?谢谢 :)
我需要从顶部和底部淡出段落。但我只能从任一侧褪色。
\nHTML:
\n<p className="bottom-overflow-fade">\n {content}\n</p>\nRun Code Online (Sandbox Code Playgroud)\nCSS:
\n.bottom-overflow-fade {\n mask-image: linear-gradient(to bottom, black 80%, transparent 100%);\n -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);\n}\n\n.top-overflow-fade {\n mask-image: linear-gradient(to top, black 80%, transparent 100%);\n -webkit-mask-image: linear-gradient(to top, black 80%, transparent 100%);\n}\nRun Code Online (Sandbox Code Playgroud)\n当前结果:
\n\n问题:
\n如果我将这两个类名添加到段落中,淡入淡出将\xe2\x80\x99t 工作。如果我使用其中任何一个,那么顶部和底部的淡入淡出效果都很完美。是否可以将这两个 CSS 属性合并为一个,以便顶部和底部淡入淡出都起作用?
\n注意:我不是在谈论任何动画。
\nDocker Desktop 图标在扩展坞上短暂闪烁,但它没有\xe2\x80\x99 启动。它静静地崩溃,屏幕上没有任何错误消息。该com.docker.diagnose工具无法从终端进行诊断,下面附有终端的输出。
/Applications/Docker.app/Contents/MacOS/com.docker.diagnose check\xe2\x9e\x9c ~ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check\nStarting diagnostics\n\n[PASS] DD0027: is there available disk space on the host?\n[SKIP] DD0028: is there available VM disk space?\n[FAIL] DD0031: does the Docker API work? Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?\n[1] 3128 killed /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check\nRun Code Online (Sandbox Code Playgroud)\n/Applications/Docker.app/Contents/MacOS/com.docker.diagnose gather --upload\xe2\x9e\x9c ~ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose gather --upload\nGathering diagnostics for ID 4DC1603E-1354-4CA3-BB31-4E0C839D67C2/20220819183640 into /var/folders/q1/9nwl1r8s4hgcp4q8_grx1kvmw56qkc/T/4DC1603E-1354-4CA3-BB31-4E0C839D67C2/20220819183640.zip.\nThis may take up to 15 minutes.\ntime="2022-08-20T00:06:40+05:30" level=info msg="Triggering …Run Code Online (Sandbox Code Playgroud) 嗨,我想MediaRecorder在我的IE 11和Safari应用程序中使用API添加对录音的支持,但到目前为止什么都没有。是否有任何可用的polyfills可以帮助我在这些浏览器中添加对相同内容的支持?
我可以看到Safari确实MediaRecorder在实验性功能下支持 API ,但即使提供了适当的 mime 类型audio/webm,它似乎也不能正常工作,它总是返回一个video/mp4mime 类型的 blob 。
这是一块古老的垃圾,我只能这么说:)
const stream = await navigator.mediaDevices.getUserMedia({
audio: true,
video: false,
})
const mimeType = 'audio/webm'
// check if above mime type is supported in browser and instantiate recorder
if (MediaRecorder.isTypeSupported(mimeType)) {
this.recorder = new MediaRecorder(this.stream, { mimeType })
} else {
this.recorder = new MediaRecorder(this.stream)
}
recorder.start() …Run Code Online (Sandbox Code Playgroud) 我使用 CRA (打字稿模板)创建了一个反应应用程序,而 TypeScript 没有遵循 ESLint 配置中编写的规则。这对我来说很奇怪,因为我在我设置的每个 React 项目中都使用了这个配置。我在下面分享一些可能有用的信息。
TypeScript 没有遵循下面编写的任何规则。
{
"parser": "@typescript-eslint/parser",
"plugins": ["react-hooks"],
"extends": ["airbnb-typescript", "plugin:@typescript-eslint/recommended"],
"parserOptions": { "project": "./tsconfig.json" },
"rules": {
"react/prop-types": "off",
"quotes": ["error", "single"],
"newline-before-return": "error",
"import/prefer-default-export": "off",
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
"lines-between-class-members": "error",
"import/newline-after-import": ["error", { "count": 1 }],
"comma-dangle": [
"error",
{
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "always-multiline"
}
]
},
"ignorePatterns": [
"config",
"public",
"scripts",
"serviceWorker.ts",
"setupTests,ts"
]
}
Run Code Online (Sandbox Code Playgroud)
{
"compilerOptions": {
"target": …Run Code Online (Sandbox Code Playgroud) 是否可以键入依赖于另一个的接口属性?
例如我有:
const object = {
foo: 'hello',
bar: { hello: '123', },
}
Run Code Online (Sandbox Code Playgroud)
我想确保bar的键必须是foo的值。
interface ObjectType = {
foo: string;
bar: { hello: string; } // instead of hardcoding have something like this? --> payload: { ValueOfFoo: string; }
}
Run Code Online (Sandbox Code Playgroud)
谢谢!:)
如果我foo++用 a换行,为什么递归不会停止setTimeout?我很确定我错过了有关异步操作的主要 JavaScript 概念。
let foo = 0;
const bar = () => {
setTimeout(() => foo++);
if (foo <= 2) {
bar();
}
}
bar();Run Code Online (Sandbox Code Playgroud)
有更好的速记来切换吗foo?
type Foo = 'BAR' | 'BAZ';
let foo: Foo = 'BAR';
const toggleFoo = () => {
foo = foo === 'BAR' ? 'BAZ' : foo;
};
toggleFoo();
Run Code Online (Sandbox Code Playgroud) javascript ×7
reactjs ×6
redux ×5
typescript ×4
html ×3
css ×2
angularjs ×1
asynchronous ×1
callback ×1
css-mask ×1
docker ×1
eslint ×1
react-hooks ×1
react-native ×1
react-redux ×1
recursion ×1
settimeout ×1