我正在教授编程,我想审查/评论我学生的代码。
最简单的方法是创建一个拉取请求,但是当学生是初学者时,他们不熟悉分支,所以这对他们来说并不容易。
已经存在类似的问题,但它们没有答案并且有点不同,例如,这是关于审查更改而不是整个项目。
我更喜欢使用 Github 的解决方案,我认为目前这是不可能的,因为这是一个开放的问题,但我对 hacky 解决方案或其他工具持开放态度。重要的是能够逐行注释代码。
我正在寻找的解决方案需要:
我和我的朋友正在致力于一个我们共同设计的项目。我的朋友为该项目创建了一个存储库,我是一名协作者,因此我可以轻松添加更改。但是有没有办法在我的个人资料上显示这个存储库?
我只允许将特定组件作为子组件。例如,假设我有一个Menu组件,该组件仅应包含MenuItem子元素,如下所示:
<Menu>
<MenuItem />
<MenuItem />
</Menu>
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试将另一个组件作为子组件时,我希望Typescript在IDE中向我抛出错误。警告我只能MenuItem当孩子的东西。例如在这种情况下:
<Menu>
<div>My item</div>
<div>My item</div>
</Menu>
Run Code Online (Sandbox Code Playgroud)
该线程几乎相似,但不包括TypeScript解决方案。我想知道是否可以使用TypeScript类型和接口解决问题。在我的想象中,它看起来像这样,但是类型检查当然不起作用,因为子组件具有Element类型:
type MenuItemType = typeof MenuItem;
interface IMenu {
children: MenuItemType[];
}
const MenuItem: React.FunctionComponent<IMenuItem> = ({ props }) => {
return (...)
}
const Menu: React.FunctionComponent<IMenu> = ({ props }) => {
return (
<nav>
{props.children}
</nav>
)
}
const App: React.FunctionComponent<IApp> = ({ props }) => {
return (
<Menu>
<MenuItem />
<MenuItem />
</Menu>
)
} …Run Code Online (Sandbox Code Playgroud) 我目前将一个组件数组渲染为另一个组件的子组件,如下所示:
\n\nconst myComponents = [\n <div key=\'1\'>Component 1</div>,\n <div key=\'2\'>Component 2</div>,\n <div key=\'3\'>Component 3</div>,\n];\n\nrender() {\n return (\n <AnotherComponent>\n {myComponents}\n <div>Another element</div>\n </ AnotherComponent>\n )\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我的问题是里面AnotherComponent,我的组件数组呈现为数组(这是有道理的):
// Inside AnotherComponent\nconsole.log(this.props.children) // [[ {}, {}, {} ], {} ]\nRun Code Online (Sandbox Code Playgroud)\n\n我的预期输出是组件应该“传播”,如下所示:
\n\n// Inside AnotherComponent\nconsole.log(this.props.children) // [ {}, {}, {}, {} ]\nRun Code Online (Sandbox Code Playgroud)\n\n我已经尝试过map渲染中的组件,但输出是相同的:
const myComponents = [\n ...\n];\n\nrender() {\n return (\n <AnotherComponent>\n {myComponents.map(component => component)}\n <div>Another element</div>\n </ AnotherComponent>\n )\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我可以通过将里面的孩子们展平来实现这一点AnotherComponent。但我想知道是否有一种语法可以让我之前将其展平,以便 …
我是bash和命令行的新手,一个朋友建议我通过Cmder使用Bash,所以我在这里下载了它:http ://cmder.net/ (迷你)但是当我打开它时,它模仿的是标准命令提示符,而不是Bash。我找不到在哪里可以配置它。当我说Bash时,我的意思是Windows 10上Ubuntu上的Bash谢谢
我有一个 HTML 表单,当前使用表单操作属性和 php 脚本提交。post 请求成功,但它重新加载页面,我想避免这种情况。该项目使用 Laravel/Blade PHP 模板。
<form
id="update-form"
method="post"
action="{{ route('update', ['id' => $user['id']]) }}"
>
@csrf
...
</form>
<button type="submit" form="update-form">Submit</button>
Run Code Online (Sandbox Code Playgroud)
为了防止页面重新加载,我想使用 JavaScript 发送 post 请求并使用preventDefault(). 我尝试使用 fetch,但由于我不熟悉 Laravel,我不明白应该发送哪个参数。例如,身体是什么?
关于这个主题有很多帖子,但大多数都已经过时并导致 jQuery 解决方案,这对我来说不是一个选择。
这是我尝试过的:
document.querySelector('#update-form').addEventListener('submit', (e) => {
e.preventDefault();
fetch("{{ route('update', ['id' => $user['id']]) }}", {
method: 'post'
}).then(() => console.log('success'));
});
Run Code Online (Sandbox Code Playgroud) 我使用::-webkit-datetime-editCSS 属性来控制 webkit 浏览器的日期输入字段的外观。为了进一步调试,我想在我的开发工具中检查它。
但是当我使用 Chrome 开发工具检查我的元素时,我在任何地方都看不到与::-webkit-datetime-edit. 也不在“样式”面板或“计算”面板中。
这是我的代码:
<input type="date">
Run Code Online (Sandbox Code Playgroud)
[type="date"]::-webkit-datetime-edit {
background-color: red;
color: transparent;
}
Run Code Online (Sandbox Code Playgroud)
这是一个代码笔:https://codepen.io/neiya/pen/jOERJQb
是否可以使用 Chrome 或其他浏览器开发工具查看和编辑这些属性?
git ×2
javascript ×2
reactjs ×2
bash ×1
cmder ×1
css ×1
forms ×1
github ×1
html ×1
input ×1
laravel ×1
open-source ×1
php ×1
review ×1
typescript ×1
typing ×1
ubuntu ×1
webkit ×1
windows-10 ×1