我有以下问题:我有一个在其中渲染其他组件的组件。该组件之一获取父组件的状态变量作为参数并主动使用它们,但当父组件的状态发生变化时它们不会重新渲染。我面临的另一个问题是,我的列表中有一个附加项,当用户具有特殊的 roleID 时,该导航项会被激活。状态的更改完全正常,但在这种情况下,只有在更改 url 的路径参数后,附加项目才可见。
父组件:
import React, { useEffect, useState } from 'react';
import {Row, Col} from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';
import '../../App.css';
import ProfileSettings from './profileSettings';
import SettingsChooser from './settingsChooser';
// import SettingRoutings from '../settingRoutings';
import {BrowserRouter as Router, useHistory, useLocation, useParams} from 'react-router-dom';
// import Routings from '../Routings.js';
import UserRequests from './userRequests';
import useAuth from '../../API/useAuthentification';
import { CONTROLLERS, useBackend } from '../../hooks/useBackend';
function UserSettings({user}) {
const {title: path} = useParams();
const [acst, setAcst] = useState(localStorage.accessToken);
const [rft, …Run Code Online (Sandbox Code Playgroud) 当启动我的应用程序时ng serve(现在ng serve -- -c deploy,由于测试,每个 console.log 来自 或main.js:1,polyfills.js:1独立于我调用 console.log() 的组件。
在另一个 stackoverflow(Angular 控制台仅从 main.js:1 和 polyfills.js:1 记录)中,有人写道,出现这种情况是因为 Angular 不构建开发,而是构建生产。
这是我的 angular.json
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"project": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/project",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": true,
"assets": …Run Code Online (Sandbox Code Playgroud)