Ayuda, es la primera vez que vinculo Redux a React.
Mi argumento de estado se ha pasado con el valor, pero cuando en la declaración de switch los valores asignados al state no se leen en el return como el valor original hello , pero los valores de la declaración de retorno después de eso, el valor No se convierte en el inicial y luego ADD .
cuando se carga la página, muestra que el estado tiene el valor de hola, pero cuando envío una acción, el valor del estado cambia a 'No'
este es mi codigo
const MessageReducer = (state = "hello", action) => { alert(state); switch (action.type) { case "ADD": // state.; alert(state); return "ADD"; default: return "No"; } }; export default MessageReducer;esta es mi tienda de configuración:
import MessageReducer from "../reducers/messageReducer"; export const store = configureStore({ reducer: { preview: MessageReducer }, });mi makdown.js:
import React from "react"; import { connect } from "react-redux"; import MsgCreator from "../actions/msgAction"; class Markdown extends React.Component { constructor(props) { super(props); this.state = { current: "", }; this.handleChange = this.handleChange.bind(this); } handleChange(event) { this.setState({ current: event.target.value, }); this.props.input(this.state.current); } render() { let i = this.props.messages; return ( <div> <form> <label for="editor">Enter your text here: </label> <textarea id="editor" name="editor" value={this.props.current} onChange={this.handleChange} ></textarea> </form> <p id="preview">{i}</p> </div> ); } } const mapStateToProps = (state) => { return { messages: state.preview, }; }; const mapDispatchToProps = (dispatch) => { return { input: (input) => { dispatch(MsgCreator(input)); }, }; }; export default connect(mapStateToProps, mapDispatchToProps)(Markdown);Mi aplicación.js:
import React from "react"; import Markdown from "./components/markdown"; import "./App.css"; function App(props) { return ( <div className="App"> <h1>hello world</h1> <Markdown /> </div> ); } export default App;No vi su Proveedor={tienda} en ninguna parte
<Provider store={store}> <App/> </Provider>