我正在编写一个使用服务器端渲染的 React 应用程序。我正在按照此处的说明设置文件。
这是我的.babelrc配置文件
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": { "version": 3, "proposals": true },
"targets": {
"browsers": "> 1%, not ie 11, not op_mini all",
"node": 13
}
}
],
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-transform-runtime",
[
"import",
{
"libraryName": "@material-ui/icons",
"libraryDirectory": "utils", // default: lib
"camel2DashComponentName": false // default: true
},
"@material-ui/icons"
]
]
}Run Code Online (Sandbox Code Playgroud)
这是webpack.config.js文件
const path = require("path");
const nodeExternals = require("webpack-node-externals");
const commonConfig = { …Run Code Online (Sandbox Code Playgroud)我将 Material-UI ClickAwayListener 组件与使用反应路由器的现有代码一起使用。该按钮位于 的外部<ClickAwayListener> ... </ClickAwayListener>,因此我预计onClickAway在导航到其他路线之前会触发该按钮。但它没有
下面是我的代码的复制,在某种程度上证明了我的意思
function Component(){
const handleClickAway = () => {
// Do something here
}
return (
<>
<button>
<Link to="/other-route">Click here </Link>
</button>
// Some other element here
<ClickAwayListener onClickAway={handleClickAway}>
<div>
// Content
</div>
</ClickAwayListener>
</>
)
}Run Code Online (Sandbox Code Playgroud)
因此,如果我单击外部的任何位置并被<ClickAwayListener>触发<button>,handleClickAway但如果我单击包含<button>与其他路线类似的位置,则不会。
我尝试查看源代码,我相信ClickAwayListener这部分负责检测点击
React.useEffect(() => {
if (mouseEvent !== false) {
const mappedMouseEvent = mapEventPropToEvent(mouseEvent);
const doc = ownerDocument(nodeRef.current);
doc.addEventListener(mappedMouseEvent, …Run Code Online (Sandbox Code Playgroud)我想追加这两个数组
int array[3]={10,20,5};
int newArray[3]={1,2,3};
Run Code Online (Sandbox Code Playgroud)
像这样的一个数组
array[]={10,20,5,1,2,3};
Run Code Online (Sandbox Code Playgroud)
但是当我使用时 strcpy
strcpy(array,newArray);
for(i=0;i<strlen(array);i++)
{
printf("%d\t",array[i]);
}
Run Code Online (Sandbox Code Playgroud)
结果看起来像这样
1 20 5 0 0 0
Run Code Online (Sandbox Code Playgroud)
当我尝试使用时memcpy,它仍然是相同的结果.我如何追加其中两个阵列?