No sé qué están tratando de decir con estas cosas de "Reaccionar contexto"; me están hablando en griego, pero así es como lo hice:
Llevando valores entre funciones, en la misma página
En su constructor, vincule su setter:
this.setSomeVariable = this.setSomeVariable.bind(this);
Luego declara una función justo debajo de tu constructor:
setSomeVariable(propertyTextToAdd) {
this.setState({
myProperty: propertyTextToAdd
});
}
Cuando quieras configurarlo, llama this.setSomeVariable("some value");
(Incluso podrías salirte con la tuya this.state.myProperty = "some value";
)
Cuando quieras conseguirlo, llama var myProp = this.state.myProperty;
El uso alert(myProp);
debería dartesome value
.
Método de andamio adicional para transportar valores a través de páginas / componentes
Puede asignar un modelo a this
(técnicamente this.stores
), por lo que luego puede referenciarlo con this.state
:
import Reflux from 'reflux'
import Actions from '~/actions/actions`
class YourForm extends Reflux.Store
{
constructor()
{
super();
this.state = {
someGlobalVariable: '',
};
this.listenables = Actions;
this.baseState = {
someGlobalVariable: '',
};
}
onUpdateFields(name, value) {
this.setState({
[name]: value,
});
}
onResetFields() {
this.setState({
someGlobalVariable: '',
});
}
}
const reqformdata = new YourForm
export default reqformdata
Guarde esto en una carpeta llamada stores
como yourForm.jsx
.
Entonces puedes hacer esto en otra página:
import React from 'react'
import Reflux from 'reflux'
import {Form} from 'reactstrap'
import YourForm from '~/stores/yourForm.jsx'
Reflux.defineReact(React)
class SomePage extends Reflux.Component {
constructor(props) {
super(props);
this.state = {
someLocalVariable: '',
}
this.stores = [
YourForm,
]
}
render() {
const myVar = this.state.someGlobalVariable;
return (
<Form>
<div>{myVar}</div>
</Form>
)
}
}
export default SomePage
Si hubiera configurado this.state.someGlobalVariable
otro componente usando una función como:
setSomeVariable(propertyTextToAdd) {
this.setState({
myGlobalVariable: propertyTextToAdd
});
}
que enlaza en el constructor con:
this.setSomeVariable = this.setSomeVariable.bind(this);
el valor en propertyTextToAdd
se mostraría SomePage
usando el código que se muestra arriba.
Redux
oFlux
biblioteca que puede manejar datos o estado a nivel mundial. y puede pasarlo fácilmente a través de todos sus componentes