小编Glu*_*ear的帖子

在React中访问子节点中的父节点状态

我在React中有(例如)两个组件.第一个app.js是根组件.它导入一些JSON数据并将其放入其中state.这工作正常(我可以在React devtools中看到它).

import data from '../data/docs.json';

class App extends Component {
  constructor() {
    super();
    this.state = {
      docs: {}
    };
  }
  componentWillMount() {
    this.setState({
      docs: data
    });
  }
  render() {
    return (
      <Router history={hashHistory}>
        <Route path="/" component={Wrapper}>
          <IndexRoute component={Home} />
          <Route path="/home" component={Home} />
          <Route path="/docs" component={Docs} />
        </Route>
      </Router>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

第二个,docs.js是为了显示这些JSON数据.要做到这一点就需要访问stateapp.js.目前它出错了,我知道为什么(this不包括app.js).但我怎能通过stateapp.jsdocs.js

class Docs …
Run Code Online (Sandbox Code Playgroud)

javascript json state reactjs

21
推荐指数
1
解决办法
2万
查看次数

对String数组进行排序并忽略大小写

下面的代码用于排序字符串数组,如果它们都是小写或全部大写但我想在排序时忽略大小写.我怎么能这样做?以下是自定义类的数组.

resultListArray.sort({ $0.fileName.compare($1.fileName) == NSComparisonResult.OrderedAscending })

ios swift

19
推荐指数
2
解决办法
6744
查看次数

在vue路由器中更改正文样式

我正在使用两页的Vue路由器:

let routes = [
    {
        path: '/',
        component: require('./components/HomeView.vue')
    },
    {
        path: '/intro',
        component: require('./components/IntroView.vue')
    }
]
Run Code Online (Sandbox Code Playgroud)

这很好,除了我的每个组件都有不同的主体样式:

HomeView.vue:

<template>
    <p>This is the home page!</p>
</template>

<script>
    export default {

    }
</script>

<style>
    body {
        background: red;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

IntroView.vue:

<template>
    <div>
        <h1>Introduction</h1>
    </div>
</template>

<script>
    export default {

    }
</script>

<style>
    body {
        background: pink;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

我的目标是让这两个页面具有不同的背景样式(最终在它们之间进行过渡).但是当我去home路线(有red背景)的时候,然后点击intro路线,背景颜色保持不变red(我希望它改变为pink).

编辑: index.html:

  <body>
    <div id="app">
        <router-link to="/" exact>Home</router-link> …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-router vue-loader

18
推荐指数
2
解决办法
1万
查看次数

反应淡化元素

我有一个Basket组件需要BasketContents在单击时切换组件.这有效:

constructor() {
    super();
    this.state = {
      open: false
    }
    this.handleDropDown = this.handleDropDown.bind(this);
  }
  handleDropDown() {
    this.setState({ open: !this.state.open })
  }
    render() {
        return(
            <div className="basket">
                <button className="basketBtn" onClick={this.handleDropDown}>
                    Open
                </button>
              {
                this.state.open
                ?
                <BasketContents />
                : null
              }
            </div>
        )
    }
Run Code Online (Sandbox Code Playgroud)

它使用条件来显示BasketContents组件与否.我现在希望它淡入.我尝试添加一个ComponentDidMount钩子BasketContents来转换不透明度,但这不起作用.有一个简单的方法吗?

javascript css fade reactjs

13
推荐指数
2
解决办法
2万
查看次数

我可以将推送提交从一个分支移动到另一个现有分支吗?

我有 3 个分支:develop,feature-1feature-2. 我在工作feature-1,然后切换到工作feature-2。然后我完成了工作feature-2,提交并推送到 repo,然后为该功能创建了一个合并请求。然后我看到其中feature-2包含一些应该在feature-1. 我可以将它们从本地移动feature-2feature-1本地,然后在回购中反映相同的移动吗?

git git-branch

11
推荐指数
2
解决办法
1万
查看次数

Django rest-auth 中的 create 和 perform_create 方法有什么区别

我正在使用 Djangorest-auth包。我有一个扩展rest-auth's的类,RegisterView它包含两个方法,createperform_create. 这两种方法有什么区别?

python django django-rest-auth

10
推荐指数
1
解决办法
7188
查看次数

在React中处理Axios错误

我有一个React组件,它调用一个函数getAllPeople

componentDidMount() {
   getAllPeople().then(response => {
      this.setState(() => ({ people: response.data }));
    });
  } 
Run Code Online (Sandbox Code Playgroud)

getAllPeople在我的api模块中:

export function getAllPeople() {
  return axios
    .get("/api/getAllPeople")
    .then(response => {
      return response.data;
    })
    .catch(error => {
      return error;
    });
}
Run Code Online (Sandbox Code Playgroud)

我认为这是一个非常基本的问题,但是假设我要在根组件(在我的componentDidMount方法中)而不是在api函数中处理错误,该根组件如何知道我的axios调用是否返回错误?即,处理来自axios承诺的错误的最佳方法是什么?

error-handling reactjs axios

8
推荐指数
3
解决办法
2万
查看次数

在 OpenAPI 3.0 中引用 self

我在 OpenAPI 3.0 中有一个数据模型定义,使用 SwaggerHub 来显示 UI。我希望模型的一个属性为related,它是同一模型的一组属性。

    Foo:
      properties:
        title:
          type: string
        related:
          type: array
          items: 
            $ref: '#/components/schemas/Foo'
Run Code Online (Sandbox Code Playgroud)

解析器似乎不喜欢这样 - UI 将该related属性显示为空数组。这种自引用在 OpenAPI 3.0 中是否可行?

swagger-ui openapi

7
推荐指数
1
解决办法
3319
查看次数

Laravel Nova,未找到路线

我已经安装了 Laravel Nova(使用 Laravel 5.6)。App\Providers\NovaServiceProvider::class已在我的config/app.php档案中注册。但是当我去https://localhost:1234/nova我得到一个404错误。

我已经清除了缓存并运行了composer dump-autoload. 我怎样才能让这条路线工作?

编辑:当我运行时php artisan route:listnova-api路线在那里,但没有路线nova

此外,在nova:install. 我正在使用现有的 Laravel 项目。

php laravel laravel-nova

6
推荐指数
3
解决办法
1万
查看次数

Jenkins 工作区中的@tmp 文件夹是什么以及如何清理它们

我有一个 Jenkins 管道,用于 Docker 容器中的 PHP 项目。这是我的 Jenkinsfile:

pipeline {
  agent any
  stages {
    stage('Build') {
      agent any
      steps {
        sh 'docker-compose up -d'
        sh 'docker exec symfony composer install'
      }
    }
    stage('Test') {
      steps {
        sh 'docker exec symfony php ./bin/phpunit --coverage-clover=\'reports/coverage/coverage.xml\' --coverage-html=\'reports/coverage\' --coverage-crap4j=\'reports/crap4j.xml\''
      }
    }
    stage('Coverage') {
      steps {
        step([$class: 'CloverPublisher', cloverReportDir: '/reports/coverage', cloverReportFileName: 'coverage.xml'])
      }
    }
  }  
  post {
    cleanup {
      sh 'docker-compose down -v'
      cleanWs()
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

运行管道后,该var/lib/jenkins/workspace文件夹包含 4 个文件夹(假设我的项目名称是Foo):

  1. 富 …

jenkins docker jenkins-pipeline

6
推荐指数
2
解决办法
8668
查看次数